From 0190771713241b10872b9e2118e16ea4e4b2d1a0 Mon Sep 17 00:00:00 2001 From: Ilia Choly Date: Wed, 28 Feb 2024 04:50:53 -0500 Subject: fix(lua): remove uri fragment from file paths (#27647) Problem: Some LSP servers return `textDocument/documentLink` responses containing file URIs with line/column numbers in the fragment. `vim.uri_to_fname` returns invalid file names for these URIs. Solution: Remove the URI fragment from file URIs. --- runtime/lua/vim/uri.lua | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'runtime/lua') diff --git a/runtime/lua/vim/uri.lua b/runtime/lua/vim/uri.lua index 7660dc42e7..b4e4098b91 100644 --- a/runtime/lua/vim/uri.lua +++ b/runtime/lua/vim/uri.lua @@ -104,6 +104,10 @@ function M.uri_to_fname(uri) if scheme ~= 'file' then return uri end + local fragment_index = uri:find('#') + if fragment_index ~= nil then + uri = uri:sub(1, fragment_index - 1) + end uri = M.uri_decode(uri) --TODO improve this. if is_windows_file_uri(uri) then -- cgit