diff --git a/lua/lean/init.lua b/lua/lean/init.lua index 69080887..a6f79401 100644 --- a/lua/lean/init.lua +++ b/lua/lean/init.lua @@ -204,7 +204,9 @@ function lean.use_suggested_mappings(bufnr) local opts = { buffer = bufnr or 0 } for _, each in ipairs(lean.mappings) do local lhs, rhs, more_opts = unpack(each) - vim.keymap.set(each.mode or 'n', lhs, rhs, vim.tbl_extend('error', opts, more_opts)) + if vim.fn['mapcheck'](lhs, each.mode or 'n') == '' then + vim.keymap.set(each.mode or 'n', lhs, rhs, vim.tbl_extend('error', opts, more_opts)) + end end end diff --git a/lua/lean/tui.lua b/lua/lean/tui.lua index 561705a6..f3707925 100644 --- a/lua/lean/tui.lua +++ b/lua/lean/tui.lua @@ -607,9 +607,11 @@ function BufRenderer:new(obj) ) for key, event in pairs(obj.keymaps or {}) do - vim.keymap.set('n', key, function() - new_renderer:event(event) - end, { buffer = obj.buffer.bufnr, desc = ('Fire a %s event.'):format(event) }) + if vim.fn['mapcheck'](key, 'n') == '' then + vim.keymap.set('n', key, function() + new_renderer:event(event) + end, { buffer = obj.buffer.bufnr, desc = ('Fire a %s event.'):format(event) }) + end end return new_renderer