legendary.nvim
legendary.nvim copied to clipboard
[Bug]: "Resolve" duplicate keymappings e.g. when there are buffer-local keymaps that override global ones
Similar Issues
- [X] Before filing, I have searched for similar issues.
Neovim Version
NVIM v0.8.2
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by [email protected]
Features: +acl +iconv +tui
See ":help feature-compile"
system vimrc file: "$VIM/sysinit.vim"
fall-back for $VIM: "/opt/homebrew/Cellar/neovim/0.8.2/share/nvim"
Run :checkhealth for more info
Expected Behavior
For example, when you have the following keymaps:
{ '<leader>t', description = "Something" },
{ '<leader>t' description = "Something else in buffer 1", opts = { buffer = 1 } },
When you trigger the finder from buffer 1, only the second keymap there should appear, because it is the "resolved" or "active" keymap for the keys <leader>t in that buffer. Once #317 is merged we will need to consider the filters as well when resolving keymaps.
Actual Behavior
Both keymaps are shown.
Minimal Configuration to Reproduce
Run the following code in the :LegendaryScratch buffer (by running :LegendaryEvalBuf), then trigger the finder from the same buffer:
require('legendary').keymaps({
{ '<leader>t', description = "This shouldn't show" },
{ '<leader>t', description = "This one is more specific and should show", opts = { buffer = 0 } },
})
Output from :LegendaryLog
:LegendaryLog output (click to expand)
Additional Details and/or Screenshots
No response