]> Sergey Matveev's repositories - vim-lsp.git/commitdiff
fix: init workspace list was wrong if set rootSearch
authorshane.xb.qian <shane.qian@foxmail.com>
Mon, 10 Apr 2023 02:00:08 +0000 (10:00 +0800)
committershane.xb.qian <shane.qian@foxmail.com>
Mon, 10 Apr 2023 02:00:08 +0000 (10:00 +0800)
Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
autoload/lsp/lspserver.vim

index 8f8ba89ebf0924573893807d54dcc853f83b2a07..89822e48cb59108ed34d9d108944cfd8e505432f 100644 (file)
@@ -72,7 +72,6 @@ def StartServer(lspserver: dict<any>, bnr: number): number
   lspserver.completionLazyDoc = false
   lspserver.completionTriggerChars = []
   lspserver.signaturePopup = -1
-  lspserver.workspaceFolders = [bnr->bufname()->fnamemodify(':p:h')]
 
   var job = cmd->job_start(opts)
   if job->job_status() == 'fail'
@@ -163,6 +162,9 @@ def InitServer(lspserver: dict<any>, bnr: number)
   if rootPath == ''
     rootPath = bufDir
   endif
+
+  lspserver.workspaceFolders = [rootPath]
+
   var rootUri = util.LspFileToUri(rootPath)
   initparams.rootPath = rootPath
   initparams.rootUri = rootUri
@@ -170,6 +172,7 @@ def InitServer(lspserver: dict<any>, bnr: number)
        name: rootPath->fnamemodify(':t'),
        uri: rootUri
      }]
+
   initparams.trace = 'off'
   initparams.capabilities = capabilities.GetClientCaps()
   if !lspserver.initializationOptions->empty()