diff options
author | kylo252 <[email protected]> | 2021-08-06 16:27:19 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2021-08-06 16:27:19 +0200 |
commit | 47ebd70817c99c657271e399c0b98b920f765f29 (patch) | |
tree | 06bacc3be91464d4fed9387052f938c51d28c515 /lua/lsp/init.lua | |
parent | c8d1b957121956e36e193d1e7104423aa5901d9b (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.lua | 30 |
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) |