aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim_lsp/configs.lua
diff options
context:
space:
mode:
authorHirokazu Hata <h.hata.ai.t@gmail.com>2020-03-22 13:50:08 +0900
committerHirokazu Hata <h.hata.ai.t@gmail.com>2020-03-22 13:50:08 +0900
commit60384dc2a60e8d2e966c0f0e9064590f2c3b28bd (patch)
tree15069ecd3dd47e334b666ecf75bb4ff883576bba /lua/nvim_lsp/configs.lua
parentMerge pull request #176 from lithammer/bashls-root-dir (diff)
downloadnvim-lspconfig-60384dc2a60e8d2e966c0f0e9064590f2c3b28bd.tar
nvim-lspconfig-60384dc2a60e8d2e966c0f0e9064590f2c3b28bd.tar.gz
nvim-lspconfig-60384dc2a60e8d2e966c0f0e9064590f2c3b28bd.tar.bz2
nvim-lspconfig-60384dc2a60e8d2e966c0f0e9064590f2c3b28bd.tar.lz
nvim-lspconfig-60384dc2a60e8d2e966c0f0e9064590f2c3b28bd.tar.xz
nvim-lspconfig-60384dc2a60e8d2e966c0f0e9064590f2c3b28bd.tar.zst
nvim-lspconfig-60384dc2a60e8d2e966c0f0e9064590f2c3b28bd.zip
util: add behavior options to tbl_deep_extend function
tbl_deep_extend always override extended table properties. This behavior is not expected. This will fix #155.
Diffstat (limited to 'lua/nvim_lsp/configs.lua')
-rw-r--r--lua/nvim_lsp/configs.lua12
1 files changed, 3 insertions, 9 deletions
diff --git a/lua/nvim_lsp/configs.lua b/lua/nvim_lsp/configs.lua
index 1ee1a744..ea2eaffb 100644
--- a/lua/nvim_lsp/configs.lua
+++ b/lua/nvim_lsp/configs.lua
@@ -99,16 +99,10 @@ function configs.__newindex(t, config_name, config_def)
end
local make_config = function(_root_dir)
- local new_config = vim.tbl_extend("keep", vim.empty_dict(), config)
- -- Deepcopy anything that is >1 level nested.
- new_config.settings = vim.deepcopy(new_config.settings)
- util.tbl_deep_extend(new_config.settings, default_config.settings)
-
- new_config.init_options = vim.deepcopy(new_config.init_options)
- util.tbl_deep_extend(new_config.init_options, default_config.init_options)
-
+ local new_config = util.tbl_deep_extend("keep", vim.empty_dict(), config)
+ new_config = util.tbl_deep_extend('keep', new_config, default_config)
new_config.capabilities = new_config.capabilities or lsp.protocol.make_client_capabilities()
- util.tbl_deep_extend(new_config.capabilities, {
+ new_config.capabilities = util.tbl_deep_extend('keep', new_config.capabilities, {
workspace = {
configuration = true;
}