Repository navigation
fix(cli): fix vim mode Esc leak, Enter submit, render lag and implement missing VIM commands #4677
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 69 commits
Commits
Show all changes
78 commits
Select commit
Hold shift + click to select a range
c770a78
fix(cli): prevent Esc key leak in vim INSERT mode and optimize re-ren…
zzhenyao 9743d21
add: test(cli),add regression tests for vim Esc key isolation and con…
zzhenyao c9b796a
feat(cli): implement missing vim NORMAL mode commands
zzhenyao b99ceca
fix(cli): enable Enter to submit in vim NORMAL mode
zzhenyao dbbd36b
fix(cli): add missing useVimModeState mock and fix formatting
zzhenyao 4525f5c
fix(cli): prevent vim >>/<< indent from duplicating line content
zzhenyao 9d222ed
fix(cli): fix vim >>/<< indent duplication and pendingOperator leak o…
zzhenyao 4932dc8
fix(cli): fix vim multi-line yank off-by-one in yankRange
zzhenyao 03cd1f8
fix(cli): populate yank register for vim delete/change operations
zzhenyao 557b7d3
fix(cli): fix vim indent duplication, pendingOperator leak, yank off-…
zzhenyao 3122b68
fix(cli): replace yank/paste no-op tests with real assertions
zzhenyao f74d585
test(cli): add integration test for vim Esc guard in AppContainer
zzhenyao 2473768
fix(cli): correct p/P paste test
zzhenyao 7ecb87f
fix(cli): use execFileSync with
zzhenyao 87d5284
feat(cli): add repeatCount support to
zzhenyao b6413b6
Merge branch 'main' into fix/vim-key-conflict
zzhenyao 9b93a6c
fix(cli): remove getter-only cursor assignment in vim ~ command
zzhenyao e1a6d38
fix(cli): reject r command when count exceeds remaining line length
zzhenyao 7a6a926
fix(cli): always call
zzhenyao e3d218b
fix(cli): J with count N should
zzhenyao 0613eb1
fix(cli): normalize linewise text
zzhenyao b198406
fix(cli): resolve 222 TypeScript errors in vim.test.ts
zzhenyao f085782
fix(cli): clear pendingOperator
zzhenyao 162a2bb
fix(cli): route x command through
zzhenyao 7c21f25
fix(cli): yank all count lines in
zzhenyao 9f9a09c
fix(cli): clear stale
zzhenyao 67499a6
test(cli): use specific
zzhenyao cb15936
fix(cli): mock child_process in vim tests to prevent clipboard spawn …
zzhenyao 9920ec7
fix(cli): batch toggle case in ~ command to avoid stale snapshot
zzhenyao b4ed828
fix(cli): clear all pending states on Escape during char-read
zzhenyao 901bf72
chore(cli): add TODO for operator+find support in f/F/t/T
zzhenyao 627b3b6
perf(cli): make writeClipboard async to avoid blocking on x keystrokes
zzhenyao 62d1c16
refactor(cli): extract preparePasteText helper to deduplicate p/P logic
zzhenyao 1d817ba
fix(cli): clear pendingOperator in ~, u, J to prevent stale operator …
zzhenyao 05af296
fix(cli): use execFileSync for Linux clipboard probe to catch ENOENT
zzhenyao 0a7f30a
fix(cli): add child.unref() to darwin/win32 clipboard writes for clea…
zzhenyao fce3eb8
fix(cli): add timeout to async clipboard execFile calls to prevent zo…
zzhenyao d9688a8
fix(cli): clear pendingOperator in x, D, C, Y, . to prevent stale ope…
zzhenyao 93551de
test(cli): add coverage for pendingOperator clearing in standalone ed…
zzhenyao 12b47eb
refactor(cli): simplify preparePasteText by removing unused linewise …
zzhenyao f6acb98
fix(cli): fix C command pendingOperator test for INSERT mode entry
zzhenyao be70837
fix(cli): clear pendingOperator in r, p, P, ;, , to prevent stal…
zzhenyao 122e9b5
fix(cli): add timeout to Linux cached clipboard write path
zzhenyao 2318ce9
test(cli): deduplicate pending operator clearing tests with it.each
zzhenyao 7df29da
test(cli): merge char-read pending operator tests into single it…
zzhenyao 0524864
ci: retrigger flaky Windows test
zzhenyao cb6ffc0
Merge branch 'main' into fix/vim-key-conflict
zzhenyao 0a09cdb
fix(cli): replace missing showYoloStyling with approvalMode check aft…
zzhenyao 12c6f46
Revert "fix(cli): replace missing showYoloStyling with approvalMode c…
zzhenyao 13ec5a1
Revert "Revert "fix(cli): replace missing showYoloStyling with approv…
zzhenyao 0e83af5
Merge branch 'main' into fix/vim-key-conflict
zzhenyao 10b5218
Merge remote-tracking branch 'origin/main' into fix/vim-key-conflict
zzhenyao a9709a0
fix(cli): linewise p on last line silently fails
zzhenyao b807a6a
fix(cli): cap vim count to prevent OOM on large repeats
zzhenyao 6c20e26
fix(cli): correct characterwise p cursor position to match vim s…
zzhenyao c13c119
fix(cli): decouple toggleVimEnabled from vimEnabled state to kee…
zzhenyao bb7d624
fix(cli): add debugLogger.warn for clipboard read/write failures
zzhenyao 832ce9a
feat(cli): compose d/y operators with h/j/k/l motions
zzhenyao 62daf77
fix(cli): detect linewise content when pasting from external cli…
zzhenyao 60f117c
fix(vim): address review feedback for dot-repeat of r, ~, J, >>, << c…
zzhenyao 99890a0
fix(vim): fix dj/dk line-count off-by-one in yank and delete
zzhenyao 3fc6f23
fix(vim): fix linewise p cursor position to land on pasted text
zzhenyao 2753f5d
fix(vim): fix characterwise P cursor position
zzhenyao b5330b9
fix(vim): make >> and << atomic single undo entries
zzhenyao 3c806e5
fix(vim): make >> and << atomic single undo entries; validate char-re…
zzhenyao ff1e583
fix(vim): make >> and << atomic single undo entries; validate char-re…
zzhenyao c4c6589
fix(vim): populate yank register for dot-repeat of delete/yank movements
zzhenyao 5cf0154
fix(vim): place cursor at join point after J command
zzhenyao b4bf194
test(vim): update >> and << tests to match atomic replaceRange implem…
zzhenyao 6003da8
fix(vim): fix cj/ck change-movement line count off-by-one
zzhenyao d05772b
fix(vim): address R8 review — cpSlice, paste cursor, J cursor, yank l…
zzhenyao 000d729
fix(test): vim-buffer-actions.test.ts
zzhenyao 319a0a9
fix(vim): address review comments for J command and REPLACE_CHAR
zzhenyao 1d6d196
fix(vim): address R10 review
zzhenyao 107c844
fix(vim): add missing dispatches for J, >>, << dot-repeat and count c…
zzhenyao 2b7bf7d
fix(vim): correct cursor position after linewise paste on last line
zzhenyao e018dbf
fix(vim): use cpLen for T command code-point bounds check
zzhenyao 0cdce00
fix(vim): use cpLen for r command bounds check
zzhenyao File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.