From 12e61dd05714b537c366bb797af1594bf01ad912 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1vio=20Carlos=20Martins=20Costa?= Date: Wed, 29 Sep 2021 16:16:10 -0300 Subject: [PATCH] fix 'system_open' keypress callback (#655) --- lua/nvim-tree.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lua/nvim-tree.lua b/lua/nvim-tree.lua index b8ef2399..de3675f0 100644 --- a/lua/nvim-tree.lua +++ b/lua/nvim-tree.lua @@ -118,7 +118,7 @@ local keypress_funcs = { } elseif _config.is_macos then _config.system_open.cmd = 'open' - elseif _config.is_linux then + elseif _config.is_unix then _config.system_open.cmd = 'xdg-open' else 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) 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) process.stderr:read_stop() process.stderr:close() @@ -145,6 +145,7 @@ local keypress_funcs = { end end ) + table.remove(process.args) if not process.handle then error("\n" .. process.pid .. "\nNvimTree system_open: failed to spawn process using '" .. process.cmd .. "'.") return @@ -155,6 +156,7 @@ local keypress_funcs = { if data then process.errors = process.errors .. data end end ) + luv.unref(process.handle) end, }