diff options
| author | kylo252 <[email protected]> | 2022-08-29 14:35:15 +0200 | 
|---|---|---|
| committer | kylo252 <[email protected]> | 2022-08-29 14:35:15 +0200 | 
| commit | 439e0c205a4c09545f08816ab5100fb5d9a93d3b (patch) | |
| tree | 4d3767b7e921dd707fe859b98bbaa5081fce205c /lua/lvim/lsp/utils.lua | |
| parent | 47e4e5b83808f784010aa480753beaaef16ac579 (diff) | |
| parent | df84e4ecce5a7c8838fd21d5de939128f3214ef4 (diff) | |
Merge remote-tracking branch 'origin/rolling'
Diffstat (limited to 'lua/lvim/lsp/utils.lua')
| -rw-r--r-- | lua/lvim/lsp/utils.lua | 29 | 
1 files changed, 13 insertions, 16 deletions
| diff --git a/lua/lvim/lsp/utils.lua b/lua/lvim/lsp/utils.lua index fa1ac6d9..b92ef11c 100644 --- a/lua/lvim/lsp/utils.lua +++ b/lua/lvim/lsp/utils.lua @@ -51,37 +51,34 @@ 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 +---@return string[] supported filestypes as a list of strings  function M.get_supported_filetypes(server_name) -  local status_ok, lsp_installer_servers = pcall(require, "nvim-lsp-installer.servers") +  local status_ok, config = pcall(require, ("lspconfig.server_configurations.%s"):format(server_name))    if not status_ok then      return {}    end -  local server_available, requested_server = lsp_installer_servers.get_server(server_name) -  if not server_available then -    return {} -  end - -  return requested_server:get_supported_filetypes() +  return config.default_config.filetypes or {}  end  ---Get supported servers per filetype ----@param filetype string ----@return table list of names of supported servers -function M.get_supported_servers_per_filetype(filetype) -  local filetype_server_map = require "nvim-lsp-installer._generated.filetype_map" -  return filetype_server_map[filetype] +---@param filter { filetype: string | string[] }?: (optional) Used to filter the list of server names. +---@return string[] list of names of supported servers +function M.get_supported_servers(filter) +  local _, supported_servers = pcall(function() +    return require("mason-lspconfig").get_available_servers(filter) +  end) +  return supported_servers or {}  end  ---Get all supported filetypes by nvim-lsp-installer ----@return table supported filestypes as a list of strings +---@return string[] 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") +  local status_ok, filetype_server_map = pcall(require, "mason-lspconfig.mappings.filetype")    if not status_ok then      return {}    end -  return vim.tbl_keys(lsp_installer_filetypes or {}) +  return vim.tbl_keys(filetype_server_map or {})  end  function M.setup_document_highlight(client, bufnr) | 
