From 60384dc2a60e8d2e966c0f0e9064590f2c3b28bd Mon Sep 17 00:00:00 2001 From: Hirokazu Hata Date: Sun, 22 Mar 2020 13:50:08 +0900 Subject: 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. --- lua/nvim_lsp/configs.lua | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'lua/nvim_lsp/configs.lua') 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; } -- cgit v1.2.3-70-g09d2