neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 519b9929e94c94965b73ac4b04aedb03fd2708ca
parent ca9f4a7cb1fea1ef1f22c011679fd8afa0a5d161
Author: marshmallow <marshycity@gmail.com>
Date:   Wed, 19 Jul 2023 10:06:20 +1000

fix(ui.open): some URLs fail on Windows

Problem:
On Windows, `explorer.exe` fails to open some URLs, for example:

    :lua vim.ui.open('https://devdocs.io/#q=lua%20lua_call')

https://github.com/neovim/neovim/pull/23401#issuecomment-1641015704

Solution:
Use rundll32 instead.

Diffstat:
Mruntime/lua/vim/ui.lua | 6+++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/runtime/lua/vim/ui.lua b/runtime/lua/vim/ui.lua @@ -136,7 +136,11 @@ function M.open(path) if vim.fn.has('mac') == 1 then cmd = { 'open', path } elseif vim.fn.has('win32') == 1 then - cmd = { 'explorer', path } + if vim.fn.executable('rundll32') == 1 then + cmd = { 'rundll32', 'url.dll,FileProtocolHandler', 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('xdg-open') == 1 then