]> Sergey Matveev's repositories - vim-lsp.git/commitdiff
Add support for a 'selectionRange' language server
authorAndreas Louv <andreas@louv.dk>
Wed, 12 Apr 2023 08:25:30 +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 d7ba74ef8b8484fb4a1b3591b9f9fa3892781bf9..35d26762c751c2038d13c2809355d0b6f593e9e3 100644 (file)
@@ -58,6 +58,7 @@ export def BufLspServerGet(bnr: number, domain: string = null_string): dict<any>
     'rename': (lspserver) => lspserver.isRenameProvider,
     'codeAction': (lspserver) => lspserver.isCodeActionProvider,
     'codeLens': (lspserver) => lspserver.isCodeLensProvider,
+    'selectionRange': (lspserver) => lspserver.isSelectionRangeProvider,
   }
 
   if !SupportedCheckFns->has_key(domain)
index 328a0dba15d9600954a828d027a52f60827346c0..c239df35e218f852e241c6539338c0918a2ca678 100644 (file)
@@ -999,7 +999,7 @@ enddef
 
 # expand the previous selection or start a new selection
 export def SelectionExpand()
-  var lspserver: dict<any> = buf.CurbufGetServerChecked()
+  var lspserver: dict<any> = buf.CurbufGetServerChecked('selectionRange')
   if lspserver->empty()
     return
   endif
@@ -1009,7 +1009,7 @@ enddef
 
 # shrink the previous selection or start a new selection
 export def SelectionShrink()
-  var lspserver: dict<any> = buf.CurbufGetServerChecked()
+  var lspserver: dict<any> = buf.CurbufGetServerChecked('selectionRange')
   if lspserver->empty()
     return
   endif
index 4f8dd906b3a7231269db3519bfb4044804f7fdd0..7e7ce974963b776d5d89a6c581526b5fab5914f7 100644 (file)
@@ -1375,7 +1375,8 @@ servers should be used for a given method.  The following flags are supported
        documentFormatting: true,
        rename: true,
        codeAction: true,
-       codeLens: true
+       codeLens: true,
+       selectionRange: true
 }
 <