diff options
author | kylo252 <[email protected]> | 2021-12-21 09:11:30 +0100 |
---|---|---|
committer | kylo252 <[email protected]> | 2021-12-21 09:11:30 +0100 |
commit | 427ad868d404a254dcbc7d3950946dae0cf205de (patch) | |
tree | 2b9075418abb52cf98f87c8969968632a82dbd44 /lua/lvim/lsp/utils.lua | |
parent | 7244220d93e2b98ba7e7aed14e4f5ccc379b254b (diff) | |
parent | 5e44e6d59bb8bac477c230dd8a463ddc1dd91799 (diff) |
Merge remote-tracking branch 'origin/rolling'
Diffstat (limited to 'lua/lvim/lsp/utils.lua')
-rw-r--r-- | lua/lvim/lsp/utils.lua | 21 |
1 files changed, 17 insertions, 4 deletions
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 |