summaryrefslogtreecommitdiff
path: root/lua/lsp/init.lua
diff options
context:
space:
mode:
authorkylo252 <[email protected]>2021-08-06 16:27:19 +0200
committerGitHub <[email protected]>2021-08-06 16:27:19 +0200
commit47ebd70817c99c657271e399c0b98b920f765f29 (patch)
tree06bacc3be91464d4fed9387052f938c51d28c515 /lua/lsp/init.lua
parentc8d1b957121956e36e193d1e7104423aa5901d9b (diff)
Add LunarVim info panel (Experimental) (#1241)
* feat: lunarvim info (Experimental) * Add missing providers info * Use nvim api directly to create the popup * width tweaks
Diffstat (limited to 'lua/lsp/init.lua')
-rw-r--r--lua/lsp/init.lua30
1 files changed, 30 insertions, 0 deletions
diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua
index a219fb1b..29676214 100644
--- a/lua/lsp/init.lua
+++ b/lua/lsp/init.lua
@@ -64,6 +64,36 @@ function M.common_capabilities()
return capabilities
end
+function M.get_ls_capabilities(client_id)
+ local client
+ if not client_id then
+ local buf_clients = vim.lsp.buf_get_clients()
+ for _, buf_client in ipairs(buf_clients) do
+ if buf_client.name ~= "null-ls" then
+ client_id = buf_client.id
+ break
+ end
+ end
+ end
+ if not client_id then
+ error "Unable to determine client_id"
+ end
+
+ client = vim.lsp.get_client_by_id(tonumber(client_id))
+
+ local enabled_caps = {}
+
+ for k, v in pairs(client.resolved_capabilities) do
+ if v == true then
+ -- print("got cap: ", vim.inspect(caps))
+ table.insert(enabled_caps, k)
+ -- vim.list_extend(enabled_caps, cap)
+ end
+ end
+
+ return enabled_caps
+end
+
function M.common_on_init(client, bufnr)
if lvim.lsp.on_init_callback then
lvim.lsp.on_init_callback(client, bufnr)