Parcourir la source

feat(lsp): add option to override nlsp-settings (#2769)

kylo252 il y a 3 ans
Parent
commit
a99894b2c8
3 fichiers modifiés avec 18 ajouts et 19 suppressions
  1. 11 0
      lua/lvim/lsp/config.lua
  2. 6 13
      lua/lvim/lsp/init.lua
  3. 1 6
      lua/lvim/lsp/providers/jsonls.lua

+ 11 - 0
lua/lvim/lsp/config.lua

@@ -39,6 +39,8 @@ local skipped_servers = {
 
 local skipped_filetypes = { "markdown", "rst", "plaintext" }
 
+local join_paths = require("lvim.utils").join_paths
+
 return {
   templates_dir = join_paths(get_runtime_dir(), "site", "after", "ftplugin"),
   diagnostics = {
@@ -132,6 +134,15 @@ return {
       },
     },
   },
+  nlsp_settings = {
+    setup = {
+      config_home = join_paths(get_config_dir(), "lsp-settings"),
+      -- set to false to overwrite schemastore.nvim
+      append_default_schemas = true,
+      ignored_servers = {},
+      loader = "json",
+    },
+  },
   null_ls = {
     setup = {},
     config = {},

+ 6 - 13
lua/lvim/lsp/init.lua

@@ -80,14 +80,6 @@ function M.common_on_attach(client, bufnr)
   add_lsp_buffer_keybindings(bufnr)
 end
 
-local function bootstrap_nlsp(opts)
-  opts = opts or {}
-  local lsp_settings_status_ok, lsp_settings = pcall(require, "nlspsettings")
-  if lsp_settings_status_ok then
-    lsp_settings.setup(opts)
-  end
-end
-
 function M.get_common_opts()
   return {
     on_attach = M.common_on_attach,
@@ -117,12 +109,13 @@ function M.setup()
     require("lvim.lsp.templates").generate_templates()
   end
 
-  bootstrap_nlsp {
-    config_home = utils.join_paths(get_config_dir(), "lsp-settings"),
-    append_default_schemas = true,
-  }
+  pcall(function()
+    require("nlspsettings").setup(lvim.lsp.nlsp_settings.setup)
+  end)
 
-  require("nvim-lsp-installer").setup(lvim.lsp.installer.setup)
+  pcall(function()
+    require("nvim-lsp-installer").setup(lvim.lsp.installer.setup)
+  end)
 
   require("lvim.lsp.null-ls").setup()
 

+ 1 - 6
lua/lvim/lsp/providers/jsonls.lua

@@ -1,12 +1,7 @@
-local full_schemas = vim.tbl_deep_extend(
-  "force",
-  require("schemastore").json.schemas(),
-  require("nlspsettings.jsonls").get_default_schemas()
-)
 local opts = {
   settings = {
     json = {
-      schemas = full_schemas,
+      schemas = require("schemastore").json.schemas(),
     },
   },
   setup = {