Filipp Vakhitov
2c0ff587e3
Post-review improvements
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
26c87535d6
Fix focus
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
6ac8e672be
Fix compilation
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
04ee2dd1e7
Post-rebase fixes
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
3106a98aee
Make IjVimSearchGroup a PersistentStateComponent instead of deprecated SearchGroup
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
73769a3472
Move one method to VimProcessGroupBase
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
085e253d77
Fix possible bug in Fleet
...
Previously, we executed processings first and updated the state afterward. This approach could be problematic for asynchronous key processing, as Fleet might access the current state, which, in the context of async key processing, is a snapshot before execution and does not reflect the actual current KeyHandlerState
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
b2af8f153e
Add VimScriptFunctionServiceBase
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
37fb41fca8
Remove exCommandAnnotation option
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
e2b05ab639
Move Vimscript grammar to engine
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
354fd8fef0
Remove EditorHolderService.kt
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
9b97867be1
Support replace mode in command line
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
06685d1721
Move more logic to VimCommandLine interface
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
ae4b88a06b
Remove ExEntryPanel and move its method to VimCommandLine
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
c83ecc46ed
Rename method
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
c32050a208
Introduce actualText
and visibleText
for command line
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
4a8c7227e6
Remove default value
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
55e61a7094
Remove count for command line
...
It was not used anywhere
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
60977d05b6
Deprecate ExEntryPanel
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
601747f720
Changes to replace ExEntryPanel with interface and move more code to engine
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
0c91bc3207
Changes to replace ExEntryPanel with interface and move more code to engine
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
f5cd2c173f
Changes to replace ExEntryPanel with interface and move more code to engine
2024-06-05 11:35:58 +03:00
Matt Ellis
d00bd8bb25
Fix incsearch highlights with operator count
...
E.g. `2"a3"b4"c5d6/foo` will now highlight the current match correctly
2024-06-03 11:54:48 +03:00
Matt Ellis
a66e44d835
Fix [count]:
initial range text in ex field
...
Fixes regression from changes in ex field handling
2024-06-03 11:54:48 +03:00
Matt Ellis
ce05317634
Maintain Visual when cancelling search entry
2024-06-03 11:54:48 +03:00
Matt Ellis
33d88d55c9
Remove unused branch in SortCommand
...
Commands are executed in Normal mode, although there may be multiple carets
2024-06-03 11:54:48 +03:00
Matt Ellis
a31a4a8ca7
Share ex entry set up with filter commands
2024-06-03 11:54:48 +03:00
Matt Ellis
c34d000b91
Reintroduce ProcessGroup.startExEntry
...
We need to share the implementation between starting an Ex command, and starting a filter command, which is just an Ex command with initial text
2024-06-03 11:54:48 +03:00
Matt Ellis
a2bfe950fa
Fix move command moving to current line
...
Removes a workaround that would break moving a range to the current line because it would always move the caret to the start of the range. Now positions the caret to the start of the selection if there is one. This also means we can remove the SAVE_VISUAL flag from JoinLinesCommand
Fixes VIM-2936
2024-06-03 11:54:48 +03:00
Matt Ellis
b44f40acd6
Fix incorrect output for line() in Normal mode
2024-06-03 11:54:48 +03:00
Matt Ellis
5169093bbf
Clear ex output after assert and fix tests
...
This ensures that a failing action doesn't pass due to previous state
2024-06-03 11:54:48 +03:00
Matt Ellis
b15b1cd3f8
Fix range with missing last address
...
Fixes VIM-992
2024-06-03 11:54:48 +03:00
Matt Ellis
f7b6a97435
Support 0 as part of a range address
...
Fixes VIM-1137
2024-06-03 11:54:48 +03:00
Matt Ellis
f64c99c406
Support incsearch highlighting for global command
...
Fixes VIM-2891
2024-06-03 11:54:48 +03:00
Matt Ellis
f552e43c5b
Refactor handling of default range
...
Specify a default range instead of default line for count.
2024-06-03 11:54:48 +03:00
Matt Ellis
4798198e41
Minor refactorings
2024-06-03 11:54:48 +03:00
Matt Ellis
a59de4ce05
Add tests and fixes for yank command
...
Handles validation for count and ensures correct behaviour for registers.
2024-06-03 11:54:48 +03:00
Matt Ellis
2dea525665
Add tests and fixes for join command
...
Handles validation for count and positions caret in the correct place. Also handles join with visual multicaret scenarios.
2024-06-03 11:54:48 +03:00
Matt Ellis
8ecb1f7296
Add tests and fixes for print command
...
Handles validation of count and correctly moves caret to end of range after execution. Also fix issue where the results of :print are accumulated and not cleared.
Fixes VIM-2570
2024-06-03 11:54:48 +03:00
Matt Ellis
9ca9530061
Add tests and fixes for shift commands
...
Shift left and right now work with counts, validate the counts and move the caret to the correct end position
2024-06-03 11:54:48 +03:00
Matt Ellis
54e27afc3f
Simplify getCount functions
...
Made it explicit to get the count from argument and/or range. Default count is not passed, because it was never used. Added some tests where possible, but hard to test select file and friends
2024-06-03 11:54:48 +03:00
Matt Ellis
5e67032655
Add tests and fixes for delete lines command
...
Validates register before use and correctly uses register and count
2024-06-03 11:54:48 +03:00
Matt Ellis
cb37f6df63
Add tests and fixes for goto line command
...
Correctly handles some validation, and also allows going to line zero
2024-06-03 11:54:48 +03:00
Matt Ellis
ca3a18cf37
Add tests for goto character command
...
Also start to refactor handling of count
2024-06-03 11:54:48 +03:00
Matt Ellis
cac36627aa
Support 0 in copy command to copy to top of file
2024-06-03 11:54:48 +03:00
Matt Ellis
6404e1127e
Remove incorrect VimBehaviourDiffers annotation
2024-06-03 11:54:48 +03:00
Matt Ellis
e762a3093b
Range is already normalised
2024-06-03 11:54:48 +03:00
Matt Ellis
739ac2ae5e
Simplify getting address from argument
2024-06-03 11:54:48 +03:00
Matt Ellis
77c364a2d0
Move count handling out of range into command
2024-06-03 11:54:48 +03:00
Matt Ellis
103cd9f5ce
Fix off-by-one error in count
...
Count needs to be one-based, lines must be zero-based. So store addresses as one-based until processed
2024-06-03 11:54:48 +03:00