diff options
Diffstat (limited to 'lua/lvim/lsp')
| -rw-r--r-- | lua/lvim/lsp/config.lua | 15 | ||||
| -rw-r--r-- | lua/lvim/lsp/manager.lua | 13 | ||||
| -rw-r--r-- | lua/lvim/lsp/templates.lua | 38 | 
3 files changed, 21 insertions, 45 deletions
| diff --git a/lua/lvim/lsp/config.lua b/lua/lvim/lsp/config.lua index 30336cc2..96430631 100644 --- a/lua/lvim/lsp/config.lua +++ b/lua/lvim/lsp/config.lua @@ -15,7 +15,6 @@ return {      underline = true,      severity_sort = true,    }, -  override = {},    document_highlight = true,    code_lens_refresh = true,    popup_border = "single", @@ -42,4 +41,18 @@ return {    null_ls = {      setup = {},    }, +  override = { +    "angularls", +    "ansiblels", +    "denols", +    "ember", +    "jedi_language_server", +    "pylsp", +    "rome", +    "sqlls", +    "sqls", +    "stylelint_lsp", +    "tailwindcss", +    "volar", +  },  } diff --git a/lua/lvim/lsp/manager.lua b/lua/lvim/lsp/manager.lua index 678a08af..0b11c175 100644 --- a/lua/lvim/lsp/manager.lua +++ b/lua/lvim/lsp/manager.lua @@ -1,7 +1,7 @@  local M = {}  local Log = require "lvim.core.log" -local lsp_utils = require "lvim.lsp.utils" +local lvim_lsp_utils = require "lvim.lsp.utils"  function M.init_defaults(languages)    for _, entry in ipairs(languages) do @@ -15,15 +15,6 @@ function M.init_defaults(languages)    end  end -local function is_overridden(server) -  local overrides = lvim.lsp.override -  if type(overrides) == "table" then -    if vim.tbl_contains(overrides, server) then -      return true -    end -  end -end -  ---Resolve the configuration for a server based on both common and user configuration  ---@param name string  ---@param user_config table [optional] @@ -54,7 +45,7 @@ end  function M.setup(server_name, user_config)    vim.validate { name = { server_name, "string" } } -  if lsp_utils.is_client_active(server_name) or is_overridden(server_name) then +  if lvim_lsp_utils.is_client_active(server_name) then      return    end diff --git a/lua/lvim/lsp/templates.lua b/lua/lvim/lsp/templates.lua index e0741b1b..3478f4fb 100644 --- a/lua/lvim/lsp/templates.lua +++ b/lua/lvim/lsp/templates.lua @@ -2,7 +2,7 @@ local M = {}  local Log = require "lvim.core.log"  local utils = require "lvim.utils" -local get_supported_filetypes = require("lvim.lsp.utils").get_supported_filetypes +local lvim_lsp_utils = require "lvim.lsp.utils"  local ftplugin_dir = lvim.lsp.templates_dir @@ -15,48 +15,20 @@ function M.remove_template_files()    end  end ----Checks if a server is ignored by default because of a conflict ----Only TSServer is enabled by default for the javascript-family ----@param server_name string -function M.is_ignored(server_name, filetypes) -  --TODO: this is easy to be made configurable once stable -  filetypes = filetypes or get_supported_filetypes(server_name) - -  if vim.tbl_contains(filetypes, "javascript") then -    if server_name == "tsserver" then -      return false -    else -      return true -    end -  end - -  local blacklist = { -    "jedi_language_server", -    "pylsp", -    "sqlls", -    "sqls", -    "angularls", -    "ansiblels", -  } -  return vim.tbl_contains(blacklist, server_name) -end -  ---Generates an ftplugin file based on the server_name in the selected directory  ---@param server_name string name of a valid language server, e.g. pyright, gopls, tsserver, etc.  ---@param dir string the full path to the desired directory  function M.generate_ftplugin(server_name, dir) -  -- we need to go through lspconfig to get the corresponding filetypes currently -  local filetypes = get_supported_filetypes(server_name) or {} -  if not filetypes then +  if vim.tbl_contains(lvim.lsp.override, server_name) then      return    end -  if M.is_ignored(server_name, filetypes) then +  -- we need to go through lspconfig to get the corresponding filetypes currently +  local filetypes = lvim_lsp_utils.get_supported_filetypes(server_name) or {} +  if not filetypes then      return    end -  -- print("got associated filetypes: " .. vim.inspect(filetypes)) -    for _, filetype in ipairs(filetypes) do      local filename = join_paths(dir, filetype .. ".lua")      local setup_cmd = string.format([[require("lvim.lsp.manager").setup(%q)]], server_name) | 
