]> Sergey Matveev's repositories - vim-lsp.git/commitdiff
Speed up cygwin path transformation.
authorPeter Jankuliak <p.jankuliak@gmail.com>
Sun, 28 May 2023 13:23:27 +0000 (14:23 +0100)
committerPeter Jankuliak <p.jankuliak@gmail.com>
Sun, 28 May 2023 13:23:27 +0000 (14:23 +0100)
autoload/lsp/util.vim

index b9cb13844374fa5167187c98c5ff6a993d9b0acf..62d936ffc51e1cec6c08dea0a852966dd90a3bd0 100644 (file)
@@ -107,8 +107,14 @@ export def LspUriRemote(uri: string): bool
   return uri =~ '^\w\+::' || uri =~ '^[a-z][a-z0-9+.-]*://'
 enddef
 
+var resolvedUris = {}
+
 # Convert a Vim filename to an LSP URI (file://<absolute_path>)
 export def LspFileToUri(fname: string): string
+  if resolvedUris->has_key(fname)
+    return resolvedUris[fname]
+  endif
+
   var uri: string = fname->fnamemodify(':p')
 
   if has("win32unix")
@@ -137,6 +143,7 @@ export def LspFileToUri(fname: string): string
     uri = $'file://{uri}'
   endif
 
+  resolvedUris[fname] = uri
   return uri
 enddef