aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-08-23 13:20:29 +0200
committerGitHub <noreply@github.com>2022-08-23 19:20:29 +0800
commit6c3cbbc4d5300a6e934e881606436748cc3e72dd (patch)
tree553480b4b2a9ca4c8c143b7efbe5af8a542cead2
parentdocs: add an entry about the setup-hook (#1873) (diff)
downloadnvim-lspconfig-6c3cbbc4d5300a6e934e881606436748cc3e72dd.tar
nvim-lspconfig-6c3cbbc4d5300a6e934e881606436748cc3e72dd.tar.gz
nvim-lspconfig-6c3cbbc4d5300a6e934e881606436748cc3e72dd.tar.bz2
nvim-lspconfig-6c3cbbc4d5300a6e934e881606436748cc3e72dd.tar.lz
nvim-lspconfig-6c3cbbc4d5300a6e934e881606436748cc3e72dd.tar.xz
nvim-lspconfig-6c3cbbc4d5300a6e934e881606436748cc3e72dd.tar.zst
nvim-lspconfig-6c3cbbc4d5300a6e934e881606436748cc3e72dd.zip
fix: only consider servers that have been set up as available (#2066)
* test: add failing test * fix(lspconfig): only consider servers that have been set up as available
-rw-r--r--lua/lspconfig.lua8
-rw-r--r--test/lspconfig_spec.lua14
2 files changed, 21 insertions, 1 deletions
diff --git a/lua/lspconfig.lua b/lua/lspconfig.lua
index 779ec426..b46ef65d 100644
--- a/lua/lspconfig.lua
+++ b/lua/lspconfig.lua
@@ -7,7 +7,13 @@ local M = {
M._root = {}
function M.available_servers()
- return vim.tbl_keys(configs)
+ local servers = {}
+ for server, config in pairs(configs) do
+ if config.manager ~= nil then
+ table.insert(servers, server)
+ end
+ end
+ return servers
end
-- Called from plugin/lspconfig.vim because it requires knowing that the last
diff --git a/test/lspconfig_spec.lua b/test/lspconfig_spec.lua
index 163bf887..8fc117c5 100644
--- a/test/lspconfig_spec.lua
+++ b/test/lspconfig_spec.lua
@@ -251,5 +251,19 @@ describe('lspconfig', function()
}
)
end)
+
+ it("excludes indexed server configs that haven't been set up", function()
+ eq(
+ exec_lua [[
+ local lspconfig = require("lspconfig")
+ local actual = nil
+ local _ = lspconfig.sumneko_lua
+ local _ = lspconfig.tsserver
+ lspconfig.rust_analyzer.setup {}
+ return lspconfig.available_servers()
+ ]],
+ { 'rust_analyzer' }
+ )
+ end)
end)
end)