commit 5e4a5f1aaa15be3bc17c5e96040fd71196993937
parent eb1e8c12e2c5ad172f2fe54cb96bf31602b16c3d
Author: Vu Nhat Chuong <ronnyvu321@gmail.com>
Date: Wed, 21 Feb 2024 00:14:50 +0700
fix(vim.ui.open): use explorer.exe instead of wslview #26947
Problem:
`vim.ui.open` uses `wslview`, which is slow and require a package from external PPA:
https://wslutiliti.es/wslu/install.html#ubuntu
Solution:
Use `explorer.exe` instead. WSL supports it by default:
https://learn.microsoft.com/en-us/windows/wsl/filesystems#view-your-current-directory-in-windows-file-explorer
Diffstat:
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/runtime/lua/vim/ui.lua b/runtime/lua/vim/ui.lua
@@ -143,12 +143,12 @@ function M.open(path)
else
return nil, 'vim.ui.open: rundll32 not found'
end
- elseif vim.fn.executable('wslview') == 1 then
- cmd = { 'wslview', path }
+ elseif vim.fn.executable('explorer.exe') == 1 then
+ cmd = { 'explorer.exe', path }
elseif vim.fn.executable('xdg-open') == 1 then
cmd = { 'xdg-open', path }
else
- return nil, 'vim.ui.open: no handler found (tried: wslview, xdg-open)'
+ return nil, 'vim.ui.open: no handler found (tried: explorer.exe, xdg-open)'
end
local rv = vim.system(cmd, { text = true, detach = true }):wait()
diff --git a/test/functional/lua/ui_spec.lua b/test/functional/lua/ui_spec.lua
@@ -152,7 +152,7 @@ describe('vim.ui', function()
vim.fn.executable = function() return 0 end
]]
eq(
- 'vim.ui.open: no handler found (tried: wslview, xdg-open)',
+ 'vim.ui.open: no handler found (tried: explorer.exe, xdg-open)',
exec_lua [[local _, err = vim.ui.open('foo') ; return err]]
)
end)