aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp/_dynamic.lua
diff options
context:
space:
mode:
authorLewis Russell <lewis6991@gmail.com>2024-02-07 17:22:03 +0000
committerLewis Russell <me@lewisr.dev>2024-02-07 19:48:37 +0000
commit59cf827f99d53ec8dbb90e48a7561c0cb8b8ca6f (patch)
tree3c91c211ce567cef3643d824f2b8027b2b60aec2 /runtime/lua/vim/lsp/_dynamic.lua
parentcca8a78ea2ac0803d9e97ee761db9d3e31a77aeb (diff)
downloadrneovim-59cf827f99d53ec8dbb90e48a7561c0cb8b8ca6f.tar.gz
rneovim-59cf827f99d53ec8dbb90e48a7561c0cb8b8ca6f.tar.bz2
rneovim-59cf827f99d53ec8dbb90e48a7561c0cb8b8ca6f.zip
refactor(lsp): move client code to a regular Lua class
Problem: The LSP client code is implemented as a complicated closure-class (class defined in a single function). Solution: Move LSP client code to a more conventional Lua class and move to a separate file.
Diffstat (limited to 'runtime/lua/vim/lsp/_dynamic.lua')
-rw-r--r--runtime/lua/vim/lsp/_dynamic.lua5
1 files changed, 3 insertions, 2 deletions
diff --git a/runtime/lua/vim/lsp/_dynamic.lua b/runtime/lua/vim/lsp/_dynamic.lua
index 3c9dee2c69..8b8f3bdc38 100644
--- a/runtime/lua/vim/lsp/_dynamic.lua
+++ b/runtime/lua/vim/lsp/_dynamic.lua
@@ -6,6 +6,7 @@ local glob = vim.glob
local M = {}
--- @param client_id number
+--- @return lsp.DynamicCapabilities
function M.new(client_id)
return setmetatable({
capabilities = {},
@@ -37,7 +38,7 @@ function M:register(registrations)
end
--- @param unregisterations lsp.Unregistration[]
---- @private
+--- @package
function M:unregister(unregisterations)
for _, unreg in ipairs(unregisterations) do
local method = unreg.method
@@ -77,7 +78,7 @@ end
--- @param method string
--- @param opts? {bufnr: integer?}
---- @private
+--- @package
function M:supports(method, opts)
return self:get(method, opts) ~= nil
end