summaryrefslogtreecommitdiff
path: root/lua/lvim/lsp
diff options
context:
space:
mode:
authorkylo252 <[email protected]>2021-12-20 08:59:47 +0100
committerGitHub <[email protected]>2021-12-20 08:59:47 +0100
commitf1ca79e628090d10c46cccdb6387f13b696c70cf (patch)
treef2110f042823fdc14ba00eca6103345e4d46bb01 /lua/lvim/lsp
parentccb5a6f0605c9429c2a44f3a800d7c6da6ca7752 (diff)
refactor: remove unused old language configs (#2094)
Diffstat (limited to 'lua/lvim/lsp')
-rw-r--r--lua/lvim/lsp/manager.lua1
-rw-r--r--lua/lvim/lsp/templates.lua1
-rw-r--r--lua/lvim/lsp/utils.lua21
3 files changed, 19 insertions, 4 deletions
diff --git a/lua/lvim/lsp/manager.lua b/lua/lvim/lsp/manager.lua
index 7a35f1ff..c95b9f69 100644
--- a/lua/lvim/lsp/manager.lua
+++ b/lua/lvim/lsp/manager.lua
@@ -4,6 +4,7 @@ local Log = require "lvim.core.log"
local lvim_lsp_utils = require "lvim.lsp.utils"
function M.init_defaults(languages)
+ languages = languages or lvim_lsp_utils.get_all_supported_filetypes()
for _, entry in ipairs(languages) do
if not lvim.lang[entry] then
lvim.lang[entry] = {
diff --git a/lua/lvim/lsp/templates.lua b/lua/lvim/lsp/templates.lua
index 3478f4fb..eb05615e 100644
--- a/lua/lvim/lsp/templates.lua
+++ b/lua/lvim/lsp/templates.lua
@@ -53,6 +53,7 @@ function M.generate_templates(servers_names)
for _, server in pairs(available_servers) do
table.insert(servers_names, server.name)
+ table.sort(servers_names)
end
end
diff --git a/lua/lvim/lsp/utils.lua b/lua/lvim/lsp/utils.lua
index df3846ce..6d1ed09c 100644
--- a/lua/lvim/lsp/utils.lua
+++ b/lua/lvim/lsp/utils.lua
@@ -49,12 +49,15 @@ function M.get_client_capabilities(client_id)
return enabled_caps
end
+---Get supported filetypes per server
+---@param server_name string can be any server supported by nvim-lsp-installer
+---@return table supported filestypes as a list of strings
function M.get_supported_filetypes(server_name)
- -- temporary workaround: https://github.com/neovim/nvim-lspconfig/pull/1358
- if server_name == "dockerls" then
- return { "dockerfile" }
+ local status_ok, lsp_installer_servers = pcall(require, "nvim-lsp-installer.servers")
+ if not status_ok then
+ return {}
end
- local lsp_installer_servers = require "nvim-lsp-installer.servers"
+
local server_available, requested_server = lsp_installer_servers.get_server(server_name)
if not server_available then
return {}
@@ -63,4 +66,14 @@ function M.get_supported_filetypes(server_name)
return requested_server:get_supported_filetypes()
end
+---Get all supported filetypes by nvim-lsp-installer
+---@return table supported filestypes as a list of strings
+function M.get_all_supported_filetypes()
+ local status_ok, lsp_installer_filetypes = pcall(require, "nvim-lsp-installer._generated.filetype_map")
+ if not status_ok then
+ return {}
+ end
+ return vim.tbl_keys(lsp_installer_filetypes or {})
+end
+
return M