Fix(VIM-2431): Make <Action> mappings accept count prefix #1445
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes VIM-2431: Mapping with
<Action>doesn't accept countWhen using
<Action>mappings (e.g.,map gj <Action>(EditorCloneCaretBelow)), the count prefix (like5gj) was being ignored and the action executed only once instead of the expected number of times.Changes
ToActionMappingInfo.execute()to extract the count fromkeyState.commandBuilder.calculateCount0Snapshot()and execute the action in arepeat()loop<Action>mappings (no count, count of 3, and large count of 10)How it works
The fix follows the same pattern used in
ToHandlerMappingInfo.execute()which correctly handles counts. Now5gjwith a mapped<Action>will execute that action 5 times, matching Vim's expected behavior.🔗 Workflow run: https://github.com/JetBrains/ideavim/actions/runs/20710306859
🤖 Generated with Claude Code