aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp/protocol.lua
diff options
context:
space:
mode:
authorYi Ming <ofseed@foxmail.com>2024-11-29 20:40:32 +0800
committerGitHub <noreply@github.com>2024-11-29 12:40:32 +0000
commita1e313ded6e4c46c58012639e5c0c6d0b009d52a (patch)
tree891bcc418369607060b599f4b224b41a46fc86e7 /runtime/lua/vim/lsp/protocol.lua
parentc867a4f5e335a1e62e699c01056f9553c0ce151a (diff)
downloadrneovim-a1e313ded6e4c46c58012639e5c0c6d0b009d52a.tar.gz
rneovim-a1e313ded6e4c46c58012639e5c0c6d0b009d52a.tar.bz2
rneovim-a1e313ded6e4c46c58012639e5c0c6d0b009d52a.zip
feat(lsp): support `textDocument/foldingRange` (#31311)
* refactor(shared): extract `vim._list_insert` and `vim._list_remove` * feat(lsp): add `vim.lsp.foldexpr()` * docs(lsp): add a todo for state management * feat(lsp): add `vim.lsp.folding_range.foldclose()` * feat(lsp): schedule `foldclose()` if the buffer is not up-to-date * feat(lsp): add `vim.lsp.foldtext()` * feat(lsp): support multiple folding range providers * refactor(lsp): expose all folding related functions under `vim.lsp.*` * perf(lsp): add `lsp.MultiHandler` for do `foldupdate()` only once
Diffstat (limited to 'runtime/lua/vim/lsp/protocol.lua')
-rw-r--r--runtime/lua/vim/lsp/protocol.lua7
1 files changed, 7 insertions, 0 deletions
diff --git a/runtime/lua/vim/lsp/protocol.lua b/runtime/lua/vim/lsp/protocol.lua
index 3d29dad90a..cfd47d8f7c 100644
--- a/runtime/lua/vim/lsp/protocol.lua
+++ b/runtime/lua/vim/lsp/protocol.lua
@@ -440,6 +440,13 @@ function protocol.make_client_capabilities()
properties = { 'command' },
},
},
+ foldingRange = {
+ dynamicRegistration = false,
+ lineFoldingOnly = true,
+ foldingRange = {
+ collapsedText = true,
+ },
+ },
formatting = {
dynamicRegistration = true,
},