From 0c0801c92d2d2da3a1c9d63e449b2e82b41f148f Mon Sep 17 00:00:00 2001 From: ray-x Date: Tue, 19 Oct 2021 10:04:14 +1100 Subject: [PATCH] fix for issue #92 default_mapping=false --- lua/navigator/lspclient/mapping.lua | 34 ++++++++++++++++------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/lua/navigator/lspclient/mapping.lua b/lua/navigator/lspclient/mapping.lua index 51fe416..e0ec591 100644 --- a/lua/navigator/lspclient/mapping.lua +++ b/lua/navigator/lspclient/mapping.lua @@ -108,17 +108,23 @@ local function set_mapping(user_opts) vim.list_extend(key_maps, ccls_mappings) end - for _, v in pairs(user_key) do - local exists = false - for _, default in pairs(key_maps) do - if v.func == default.func and (not default.override) then - default.key, default.override, exists = v.key, true, true - break + if _NgConfigValues.default_mapping ~= false then + for _, v in pairs(user_key) do + trace("binding", v) + local exists = false + for _, default in pairs(key_maps) do + if v.func == default.func and (not default.override) then + default.key, default.override, exists = v.key, true, true + break + end + end + if not exists then + table.insert(key_maps, v) end end - if not exists then - table.insert(key_maps, v) - end + else + key_maps = _NgConfigValues.keymaps or {} + log("setting maps to ", key_maps) end local fmtkey, rfmtkey for _, value in pairs(key_maps) do @@ -141,7 +147,7 @@ local function set_mapping(user_opts) elseif string.find(value.func, "formatting") then fmtkey = value.key end - trace("binding", k, f) + log("binding", k, f) set_keymap(m, k, f, opts) end @@ -154,14 +160,14 @@ local function set_mapping(user_opts) autocmd BufWritePre lua vim.lsp.buf.formatting() aug END ]]) - else + elseif fmtkey then del_keymap('n', fmtkey) end if user_opts.cap.document_range_formatting then log("formatting enabled", user_opts.cap) end - if not range_fmt then + if not range_fmt and rfmtkey then del_keymap("v", rfmtkey) end @@ -220,9 +226,7 @@ end function M.setup(user_opts) user_opts = user_opts or _NgConfigValues - if _NgConfigValues.default_mapping == true then - set_mapping(user_opts) - end + set_mapping(user_opts) autocmd(user_opts) set_event_handler(user_opts)