aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp.lua
diff options
context:
space:
mode:
authorHirokazu Hata <h.hata.ai.t@gmail.com>2019-12-29 02:28:00 +0900
committerAshkan Kiani <ashkan.k.kiani@gmail.com>2019-12-28 09:28:00 -0800
commit680693e263576e34d5947c43ab0ae3ff0ebfeab5 (patch)
treedbe9427c527791ad2ca1185de3cb83ef010cf10b /runtime/lua/vim/lsp.lua
parent4f4c06a7a46e13e59381183818e839691b55702b (diff)
downloadrneovim-680693e263576e34d5947c43ab0ae3ff0ebfeab5.tar.gz
rneovim-680693e263576e34d5947c43ab0ae3ff0ebfeab5.tar.bz2
rneovim-680693e263576e34d5947c43ab0ae3ff0ebfeab5.zip
runtime: Add vim.lsp.get_client_by_name (#11603)
Since the client name is more obvious than the client id for the user, add an API to get the lsp client by the client name.
Diffstat (limited to 'runtime/lua/vim/lsp.lua')
-rw-r--r--runtime/lua/vim/lsp.lua10
1 files changed, 10 insertions, 0 deletions
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua
index 0ecf57f50c..042ed7bcfe 100644
--- a/runtime/lua/vim/lsp.lua
+++ b/runtime/lua/vim/lsp.lua
@@ -697,6 +697,16 @@ function lsp.get_client_by_id(client_id)
return active_clients[client_id]
end
+-- Look up an active client by its name, returns nil if it is not yet initialized
+-- or is not a valid name.
+-- @param client_name string the client name.
+function lsp.get_client_by_name(client_name)
+ for _, client in pairs(active_clients) do
+ if client.name == client_name then return client end
+ end
+ return nil
+end
+
-- Stop a client by its id, optionally with force.
-- You can also use the `stop()` function on a client if you already have
-- access to it.