diff options
| author | kylo252 <[email protected]> | 2022-06-27 19:18:20 +0200 | 
|---|---|---|
| committer | GitHub <[email protected]> | 2022-06-27 19:18:20 +0200 | 
| commit | a99894b2c8215c5fa3966fbe9b5096d59bcca8dd (patch) | |
| tree | 683a02d59225ae11f6b089f5b193212b744f2961 | |
| parent | c6431a09c7e6541dba46a7f7e6db7a34d0d00092 (diff) | |
feat(lsp): add option to override nlsp-settings (#2769)
| -rw-r--r-- | lua/lvim/lsp/config.lua | 11 | ||||
| -rw-r--r-- | lua/lvim/lsp/init.lua | 19 | ||||
| -rw-r--r-- | lua/lvim/lsp/providers/jsonls.lua | 7 | 
3 files changed, 18 insertions, 19 deletions
| diff --git a/lua/lvim/lsp/config.lua b/lua/lvim/lsp/config.lua index 7dc4c217..81a866f0 100644 --- a/lua/lvim/lsp/config.lua +++ b/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 = {}, diff --git a/lua/lvim/lsp/init.lua b/lua/lvim/lsp/init.lua index 505c1bc1..1b1fb1bd 100644 --- a/lua/lvim/lsp/init.lua +++ b/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() diff --git a/lua/lvim/lsp/providers/jsonls.lua b/lua/lvim/lsp/providers/jsonls.lua index 528c72a0..76aea25f 100644 --- a/lua/lvim/lsp/providers/jsonls.lua +++ b/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 = { | 
