diff --git a/lua/preview/compiler.lua b/lua/preview/compiler.lua index 4c78574..8555881 100644 --- a/lua/preview/compiler.lua +++ b/lua/preview/compiler.lua @@ -55,9 +55,7 @@ end ---@param name string ---@param provider preview.ProviderConfig ---@param ctx preview.Context -function M.compile(bufnr, name, provider, ctx, opts) - opts = opts or {} - +function M.compile(bufnr, name, provider, ctx) if vim.bo[bufnr].modified then vim.cmd('silent! update') end @@ -83,10 +81,7 @@ function M.compile(bufnr, name, provider, ctx, opts) last_output[bufnr] = output_file end - local reload_cmd - if not opts.oneshot then - reload_cmd = resolve_reload_cmd(provider, resolved_ctx) - end + local reload_cmd = resolve_reload_cmd(provider, resolved_ctx) if reload_cmd then log.dbg( @@ -408,10 +403,7 @@ end ---@param ctx preview.Context function M.clean(bufnr, name, provider, ctx) if not provider.clean then - vim.notify( - '[preview.nvim]: provider "' .. name .. '" has no clean command', - vim.log.levels.WARN - ) + vim.notify('[preview.nvim] provider "' .. name .. '" has no clean command', vim.log.levels.WARN) return end @@ -435,10 +427,10 @@ function M.clean(bufnr, name, provider, ctx) vim.schedule_wrap(function(result) if result.code == 0 then log.dbg('clean succeeded for buffer %d', bufnr) - vim.notify('[preview.nvim]: clean complete', vim.log.levels.INFO) + vim.notify('[preview.nvim] clean complete', vim.log.levels.INFO) else log.dbg('clean failed for buffer %d (exit code %d)', bufnr, result.code) - vim.notify('[preview.nvim]: clean failed: ' .. (result.stderr or ''), vim.log.levels.ERROR) + vim.notify('[preview.nvim] clean failed: ' .. (result.stderr or ''), vim.log.levels.ERROR) end end) ) @@ -446,19 +438,13 @@ end ---@param bufnr integer ---@return boolean -function M.open(bufnr, open_config) +function M.open(bufnr) local output = last_output[bufnr] if not output then log.dbg('no last output file for buffer %d', bufnr) return false end - if type(open_config) == 'table' then - local open_cmd = vim.list_extend({}, open_config) - table.insert(open_cmd, output) - vim.system(open_cmd) - else - vim.ui.open(output) - end + vim.ui.open(output) return true end diff --git a/lua/preview/init.lua b/lua/preview/init.lua index acceea5..bbf70f1 100644 --- a/lua/preview/init.lua +++ b/lua/preview/init.lua @@ -148,12 +148,12 @@ function M.build(bufnr) bufnr = bufnr or vim.api.nvim_get_current_buf() local name = M.resolve_provider(bufnr) if not name then - vim.notify('[preview.nvim]: no provider configured for this filetype', vim.log.levels.WARN) + vim.notify('[preview.nvim] no provider configured for this filetype', vim.log.levels.WARN) return end local ctx = M.build_context(bufnr) local provider = config.providers[name] - compiler.compile(bufnr, name, provider, ctx, { oneshot = true }) + compiler.compile(bufnr, name, provider, ctx) end ---@param bufnr? integer @@ -167,7 +167,7 @@ function M.clean(bufnr) bufnr = bufnr or vim.api.nvim_get_current_buf() local name = M.resolve_provider(bufnr) if not name then - vim.notify('[preview.nvim]: no provider configured for this filetype', vim.log.levels.WARN) + vim.notify('[preview.nvim] no provider configured for this filetype', vim.log.levels.WARN) return end local ctx = M.build_context(bufnr) @@ -180,7 +180,7 @@ function M.watch(bufnr) bufnr = bufnr or vim.api.nvim_get_current_buf() local name = M.resolve_provider(bufnr) if not name then - vim.notify('[preview.nvim]: no provider configured for this filetype', vim.log.levels.WARN) + vim.notify('[preview.nvim] no provider configured for this filetype', vim.log.levels.WARN) return end local provider = config.providers[name] @@ -190,10 +190,8 @@ end ---@param bufnr? integer function M.open(bufnr) bufnr = bufnr or vim.api.nvim_get_current_buf() - local name = M.resolve_provider(bufnr) - local open_config = name and config.providers[name] and config.providers[name].open - if not compiler.open(bufnr, open_config) then - vim.notify('[preview.nvim]: no output file available for this buffer', vim.log.levels.WARN) + if not compiler.open(bufnr) then + vim.notify('[preview.nvim] no output file available for this buffer', vim.log.levels.WARN) end end