summaryrefslogtreecommitdiff
path: root/lua/lsp/utils.lua
diff options
context:
space:
mode:
authorchristianchiarulli <[email protected]>2021-08-29 14:17:32 -0400
committerchristianchiarulli <[email protected]>2021-08-29 14:17:32 -0400
commited5559d259e38a78796a7d81421f02ba6dafac4b (patch)
treeafa9c00c017382bac547265a8a1e16b9770a07eb /lua/lsp/utils.lua
parente7b6d3b6f5982ea1042ffd499a7b85c18f0b782e (diff)
parentc7a5122fe2c14dba0f28f1c077f838f957884afc (diff)
Merge branch 'rolling' of github.com:ChristianChiarulli/LunarVim
Diffstat (limited to 'lua/lsp/utils.lua')
-rw-r--r--lua/lsp/utils.lua28
1 files changed, 28 insertions, 0 deletions
diff --git a/lua/lsp/utils.lua b/lua/lsp/utils.lua
new file mode 100644
index 00000000..17b9c3bc
--- /dev/null
+++ b/lua/lsp/utils.lua
@@ -0,0 +1,28 @@
+local M = {}
+
+function M.is_client_active(name)
+ local clients = vim.lsp.get_active_clients()
+ for _, client in pairs(clients) do
+ if client.name == name then
+ return true, client
+ end
+ end
+ return false
+end
+
+-- FIXME: this should return a list instead
+function M.get_active_client_by_ft(filetype)
+ if not lvim.lang[filetype] or not lvim.lang[filetype].lsp then
+ return nil
+ end
+
+ local clients = vim.lsp.get_active_clients()
+ for _, client in pairs(clients) do
+ if client.name == lvim.lang[filetype].lsp.provider then
+ return client
+ end
+ end
+ return nil
+end
+
+return M