fix(compiler): respect provider open config in M.open()
Problem: :Preview open always called vim.ui.open regardless of the
provider's open field. Providers configured with a custom opener
(e.g. open = { 'sioyek', '--new-instance' }) were ignored, so the
first build opened with sioyek but :Preview open fell back to the
system default.
Solution: init.lua resolves the provider's open config and passes it
to compiler.open(). If open_config is a table, the custom command is
spawned with the output path appended. Otherwise vim.ui.open is used
as before.
This commit is contained in:
parent
c556ea9ea1
commit
f87f478612
2 changed files with 11 additions and 3 deletions
|
|
@ -443,13 +443,19 @@ end
|
|||
|
||||
---@param bufnr integer
|
||||
---@return boolean
|
||||
function M.open(bufnr)
|
||||
function M.open(bufnr, open_config)
|
||||
local output = last_output[bufnr]
|
||||
if not output then
|
||||
log.dbg('no last output file for buffer %d', bufnr)
|
||||
return false
|
||||
end
|
||||
vim.ui.open(output)
|
||||
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
|
||||
return true
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue