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 = { |