You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have updated the plugin to the latest version before submitting this issue
I have searched the existing issues of which-key.nvim
I have searched the existing issues of plugins related to this issue
Neovim version (nvim -v)
v0.10.1
Operating system/version
MacOS 14.6.1, Windows 11, NixOS
Describe the bug
I noticed recently that while using fugitive's status buffer, the fixup commit bindings (cf and cF) only worked if I was fairly quick hitting the f/F. If I was too slow, then which-key shows "move to next char" instead of the fugitive binding like it normally does, and hitting f/F after that doesn't work (I'm getting an E21: Cannot make changes, 'modifiable' is off error if I actually try to perform the "move to next char" action, oddly).
I was able to isolate this to which-key, to my surprise. A bisect shows that it is specifically 568b841 (refactor: presets, 2024-07-09), though this is still reproducible on the current head of main: 6c1584e (chore(main): release 3.13.2 (#796), 2024-07-24).
Steps To Reproduce
Open up nvim using the reproduction config below. Note that you'll need to switch to a directory that is a valid git repo in order to load the fugitive status buffer.
Open the fugitive status buffer with :G
Hit cf quickly and see that the command line is populated with :Git commit --fixup= as expected
Hit c and wait for which-key to show up. Note that which-key shows f => move to next char instead of the fugitive binding
Hit f, and see that the fixup commit command is not teed up
Expected Behavior
When in the fugitive status buffer, c followed by f should tee up a fixup commit regardless of the delay between the two keystrokes and whether or not which-key shows up.
Health
==============================================================================
which-key: require("which-key.health").check()
- OK Most of these checks are for informational purposes only.
WARNINGS should be treated as a warning, and don't necessarily indicate a problem with your config.
Please |DON't| report these warnings as an issue.
Checking your config ~
- WARNING |mini.icons| is not installed
- WARNING |nvim-web-devicons| is not installed
- WARNING Keymap icon support will be limited.
Checking for issues with your mappings ~
- OK No issues reported
checking for overlapping keymaps ~
- WARNING In mode `n`, <gc> overlaps with <gcc>:
- <gc>: Toggle comment
- <gcc>: Toggle comment line
- OK Overlapping keymaps are only reported for informational purposes.
This doesn't necessarily mean there is a problem with your config.
Checking for duplicate mappings ~
- OK No duplicate mappings found
Log
Debug Started for v3.13.2
{
branch = "main",
commit = "6c1584eb76b55629702716995cca4ae2798a9cca"
}
new Mode(n:1)
Trigger(add) Mode(n:1) ` ' " g' g` z= g <C-W> <Plug> z [ ]
on_key: :
ModeChanged(n:c)
new Mode(c:1)
Safe(true)
Trigger(add) Mode(c:1) <C-R>
on_key: G
on_key: <CR>
ModeChanged(c:n)
Unsafe(command-mode)
suspend: Mode(n:1)
Trigger(del) Mode(n:1) g <C-W> <Plug> z [ ] ` ' " g' g` z=
BufNew(4)
BufReadPost(4)
BufEnter(4)
new Mode(n:4)
Trigger(add) Mode(n:1) ` ' " g' g` z= g <C-W> <Plug> z [ ]
Trigger(add) Mode(n:4) ` ' " z= g' g` [ <C-W> <Plug> z ] g cz cb cR cr co cm cv
on_key: c
ModeChanged(n:no)
new Mode(o:4)
Safe(true)
State(start): Mode(o:0) Node() { defer = false }
update Mode(o:4)
continue: Mode(o:4)
getchar
Trigger(add) Mode(o:4) g [ ]
on_key: f
got: f
suspend: Mode(o:4)
Trigger(del) Mode(o:4) ] [ g
feedkeys: Mode(o:4) f
on_key: f
on_key: <Esc>
ModeChanged(no:n)
Safe(true)
Trigger(add) Mode(o:4) g [ ]
on_key: :
ModeChanged(n:c)
new Mode(c:4)
Safe(true)
Trigger(add) Mode(c:4) <C-R>
on_key: q
on_key: a
on_key: <CR>
ModeChanged(c:n)
Unsafe(command-mode)
suspend: Mode(n:4)
Trigger(del) Mode(n:4) ` ' " z= g' g` [ <C-W> <Plug> z ] g cz cb cR cr co cm cv
Trigger(add) Mode(n:4) ` ' " z= g' g` [ <C-W> <Plug> z ] g cz cb cR cr co cm cv
Did you check docs and existing issues?
Neovim version (nvim -v)
v0.10.1
Operating system/version
MacOS 14.6.1, Windows 11, NixOS
Describe the bug
I noticed recently that while using fugitive's status buffer, the fixup commit bindings (
cf
andcF
) only worked if I was fairly quick hitting thef
/F
. If I was too slow, then which-key shows "move to next char" instead of the fugitive binding like it normally does, and hittingf
/F
after that doesn't work (I'm getting anE21: Cannot make changes, 'modifiable' is off
error if I actually try to perform the "move to next char" action, oddly).I was able to isolate this to which-key, to my surprise. A bisect shows that it is specifically 568b841 (refactor: presets, 2024-07-09), though this is still reproducible on the current head of main: 6c1584e (chore(main): release 3.13.2 (#796), 2024-07-24).
Steps To Reproduce
:G
cf
quickly and see that the command line is populated with:Git commit --fixup=
as expectedc
and wait for which-key to show up. Note that which-key showsf => move to next char
instead of the fugitive bindingf
, and see that the fixup commit command is not teed upExpected Behavior
When in the fugitive status buffer,
c
followed byf
should tee up a fixup commit regardless of the delay between the two keystrokes and whether or not which-key shows up.Health
Log
Repro
The text was updated successfully, but these errors were encountered: