fix 'system_open' keypress callback (#655)

This commit is contained in:
Sávio Carlos Martins Costa
2021-09-29 16:16:10 -03:00
committed by GitHub
parent f8b5eb0bd8
commit 12e61dd057

View File

@@ -118,7 +118,7 @@ local keypress_funcs = {
} }
elseif _config.is_macos then elseif _config.is_macos then
_config.system_open.cmd = 'open' _config.system_open.cmd = 'open'
elseif _config.is_linux then elseif _config.is_unix then
_config.system_open.cmd = 'xdg-open' _config.system_open.cmd = 'xdg-open'
else else
require'nvim-tree.utils'.echo_warning("Cannot open file with system application. Unrecognized platform.") require'nvim-tree.utils'.echo_warning("Cannot open file with system application. Unrecognized platform.")
@@ -134,7 +134,7 @@ local keypress_funcs = {
} }
table.insert(process.args, node.link_to or node.absolute_path) table.insert(process.args, node.link_to or node.absolute_path)
process.handle, process.pid = luv.spawn(process.cmd, process.handle, process.pid = luv.spawn(process.cmd,
{ args = process.args, stdio = { nil, nil, process.stderr }}, { args = process.args, stdio = { nil, nil, process.stderr }, detached = true },
function(code) function(code)
process.stderr:read_stop() process.stderr:read_stop()
process.stderr:close() process.stderr:close()
@@ -145,6 +145,7 @@ local keypress_funcs = {
end end
end end
) )
table.remove(process.args)
if not process.handle then if not process.handle then
error("\n" .. process.pid .. "\nNvimTree system_open: failed to spawn process using '" .. process.cmd .. "'.") error("\n" .. process.pid .. "\nNvimTree system_open: failed to spawn process using '" .. process.cmd .. "'.")
return return
@@ -155,6 +156,7 @@ local keypress_funcs = {
if data then process.errors = process.errors .. data end if data then process.errors = process.errors .. data end
end end
) )
luv.unref(process.handle)
end, end,
} }