]> Sergey Matveev's repositories - vim-lsp.git/commitdiff
Add support for a 'foldingRange' language server
authorAndreas Louv <andreas@louv.dk>
Wed, 12 Apr 2023 08:25:43 +0000 (10:25 +0200)
committerAndreas Louv <andreas@louv.dk>
Thu, 13 Apr 2023 21:58:31 +0000 (23:58 +0200)
autoload/lsp/buffer.vim
autoload/lsp/lsp.vim
doc/lsp.txt

index 35d26762c751c2038d13c2809355d0b6f593e9e3..5e8a83d1479791bed3d01d1adce3639c00550fad 100644 (file)
@@ -59,6 +59,7 @@ export def BufLspServerGet(bnr: number, domain: string = null_string): dict<any>
     'codeAction': (lspserver) => lspserver.isCodeActionProvider,
     'codeLens': (lspserver) => lspserver.isCodeLensProvider,
     'selectionRange': (lspserver) => lspserver.isSelectionRangeProvider,
+    'foldingRange': (lspserver) => lspserver.isFoldingRangeProvider,
   }
 
   if !SupportedCheckFns->has_key(domain)
index c239df35e218f852e241c6539338c0918a2ca678..9263c68bd57632ba213c5dc2c3f0f7df99707370 100644 (file)
@@ -1019,7 +1019,7 @@ enddef
 
 # fold the entire document
 export def FoldDocument()
-  var lspserver: dict<any> = buf.CurbufGetServerChecked()
+  var lspserver: dict<any> = buf.CurbufGetServerChecked('foldingRange')
   if lspserver->empty()
     return
   endif
index 7e7ce974963b776d5d89a6c581526b5fab5914f7..c62134d123913e8c246463c7c963f335f6527672 100644 (file)
@@ -1376,7 +1376,8 @@ servers should be used for a given method.  The following flags are supported
        rename: true,
        codeAction: true,
        codeLens: true,
-       selectionRange: true
+       selectionRange: true,
+       foldingRange:  true
 }
 <