Commit Graph
5146 Commits
Author SHA1 Message Date
Filipp VakhitovandAlex Pláte 26c87535d6 Fix focus 2024-06-05 11:35:58 +03:00
Filipp VakhitovandAlex Pláte 04ee2dd1e7 Post-rebase fixes 2024-06-05 11:35:58 +03:00
Filipp VakhitovandAlex Pláte 3106a98aee Make IjVimSearchGroup a PersistentStateComponent instead of deprecated SearchGroup 2024-06-05 11:35:58 +03:00
Filipp VakhitovandAlex Pláte 73769a3472 Move one method to VimProcessGroupBase 2024-06-05 11:35:58 +03:00
Filipp VakhitovandAlex Pláte b2af8f153e Add VimScriptFunctionServiceBase 2024-06-05 11:35:58 +03:00
Filipp VakhitovandAlex Pláte 37fb41fca8 Remove exCommandAnnotation option 2024-06-05 11:35:58 +03:00
Filipp VakhitovandAlex Pláte e2b05ab639 Move Vimscript grammar to engine 2024-06-05 11:35:58 +03:00
Filipp VakhitovandAlex Pláte 354fd8fef0 Remove EditorHolderService.kt 2024-06-05 11:35:58 +03:00
Filipp VakhitovandAlex Pláte 9b97867be1 Support replace mode in command line 2024-06-05 11:35:58 +03:00
Filipp VakhitovandAlex Pláte 06685d1721 Move more logic to VimCommandLine interface 2024-06-05 11:35:58 +03:00
Filipp VakhitovandAlex Pláte ae4b88a06b Remove ExEntryPanel and move its method to VimCommandLine 2024-06-05 11:35:58 +03:00
Filipp VakhitovandAlex Pláte c83ecc46ed Rename method 2024-06-05 11:35:58 +03:00
Filipp VakhitovandAlex Pláte c32050a208 Introduce actualText and visibleText for command line 2024-06-05 11:35:58 +03:00
Filipp VakhitovandAlex Pláte 4a8c7227e6 Remove default value 2024-06-05 11:35:58 +03:00
Filipp VakhitovandAlex Pláte 55e61a7094 Remove count for command line
It was not used anywhere
2024-06-05 11:35:58 +03:00
Filipp VakhitovandAlex Pláte 60977d05b6 Deprecate ExEntryPanel 2024-06-05 11:35:58 +03:00
Filipp VakhitovandAlex Pláte 601747f720 Changes to replace ExEntryPanel with interface and move more code to engine 2024-06-05 11:35:58 +03:00
Filipp VakhitovandAlex Pláte 0c91bc3207 Changes to replace ExEntryPanel with interface and move more code to engine 2024-06-05 11:35:58 +03:00
Filipp VakhitovandAlex Pláte f5cd2c173f Changes to replace ExEntryPanel with interface and move more code to engine 2024-06-05 11:35:58 +03:00
Matt EllisandAlex Pláte 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 EllisandAlex Pláte 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 EllisandAlex Pláte ce05317634 Maintain Visual when cancelling search entry 2024-06-03 11:54:48 +03:00
Matt EllisandAlex Pláte a31a4a8ca7 Share ex entry set up with filter commands 2024-06-03 11:54:48 +03:00
Matt EllisandAlex Pláte 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 EllisandAlex Pláte 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 EllisandAlex Pláte b44f40acd6 Fix incorrect output for line() in Normal mode 2024-06-03 11:54:48 +03:00
Matt EllisandAlex Pláte 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 EllisandAlex Pláte b15b1cd3f8 Fix range with missing last address
Fixes VIM-992
2024-06-03 11:54:48 +03:00
Matt EllisandAlex Pláte f7b6a97435 Support 0 as part of a range address
Fixes VIM-1137
2024-06-03 11:54:48 +03:00
Matt EllisandAlex Pláte f64c99c406 Support incsearch highlighting for global command
Fixes VIM-2891
2024-06-03 11:54:48 +03:00
Matt EllisandAlex Pláte 4798198e41 Minor refactorings 2024-06-03 11:54:48 +03:00
Matt EllisandAlex Pláte 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 EllisandAlex Pláte 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 EllisandAlex Pláte 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 EllisandAlex Pláte 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 EllisandAlex Pláte 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 EllisandAlex Pláte 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 EllisandAlex Pláte 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 EllisandAlex Pláte ca3a18cf37 Add tests for goto character command
Also start to refactor handling of count
2024-06-03 11:54:48 +03:00
Matt EllisandAlex Pláte cac36627aa Support 0 in copy command to copy to top of file 2024-06-03 11:54:48 +03:00
Matt EllisandAlex Pláte 6404e1127e Remove incorrect VimBehaviourDiffers annotation 2024-06-03 11:54:48 +03:00
Matt EllisandAlex Pláte 739ac2ae5e Simplify getting address from argument 2024-06-03 11:54:48 +03:00
Matt EllisandAlex Pláte 77c364a2d0 Move count handling out of range into command 2024-06-03 11:54:48 +03:00
Matt EllisandAlex Pláte 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
Matt EllisandAlex Pláte 99859fe857 Rename test classes
Also ensure that test derives from VimTestCase so that injector is correctly initialised
2024-06-03 11:54:48 +03:00
Matt EllisandAlex Pláte 0a14150840 Extract TextRange from Ex range class 2024-06-03 11:54:48 +03:00
Matt EllisandAlex Pláte e8ffc0313f Remove Range overloads that don't require a caret
Provide caret when calling from Command
2024-06-03 11:54:48 +03:00
Matt EllisandAlex Pláte 076aab1ccf Rename Ranges, and ExRanges.kt 2024-06-03 11:54:48 +03:00
Matt EllisandAlex Pláte 751f51c88f Rename Range and related classes to Address
An address evaluates to a line, and a range is a collection of addresses
2024-06-03 11:54:48 +03:00
Filipp Vakhitov ab7359ffd3 Fix options test for Windows
Thanks @citizenmatt for this patch
2024-05-29 18:48:05 +03:00