Commit Graph
5765 Commits
Author SHA1 Message Date
Alex Pláte 28aa156cb7 Merge branch 'master' into feature/gradle-intellij-plugin-v2 2024-06-21 16:30:25 +03:00
Matt Ellis a7814e69de Fix incorrect double registration when opening editors
Ensures that the editor listeners are only registered once when the editor is created. IdeaVim uses two different events to track editor creation, to try to understand how the editor is being created (new window, split, preview, etc.) and this can lead to calling the `EditorListeners.add` method twice. This would create a second `Disposable` and cause handlers to leak. This is most visible when creating the first window and then disabling IdeaVim. This window would still handle drag events like IdeaVim, even changing the caret back to block after the drag finishes.
2024-06-21 13:13:15 +03:00
kun-codes 931d4be972 add NERDTree action to create new files and directories 2024-06-20 17:51:15 +05:30
Matt Ellis 5eb0fae08f Remove explicit since-build from plugin.xml
Let the Gradle plugin manage since-build, based on our target compile version. We leave until-build open ended
2024-06-17 11:18:50 +01:00
Matt Ellis c673f5818c Make jumplist project ID key unique
Fixes an issue if multiple projects with the same name are open at the same time
2024-06-14 14:35:48 +01:00
Matt Ellis ec78a87644 Fix recent places adding to jump list
Fixes VIM-3424
2024-06-14 14:29:12 +01:00
Matt Ellis 69d14ddcf5 Implement clearjumps command 2024-06-14 14:29:12 +01:00
Filipp Vakhitov 89e016ef6c Fix infinite loop stuck because of a confirmation dialog appearing over and over 2024-06-12 10:57:45 +03:00
Filipp Vakhitov c44ed58142 Make text deletion in change actions a part of insert sequence 2024-06-09 00:33:07 +03:00
Filipp Vakhitov 0091af2a41 Fix(VIM-547): Undo splits Insert mode edits into separate undo chunks
Add tests
2024-06-07 23:03:53 +03:00
Filipp Vakhitov 133aff7fd8 Add a return type to getInsertSequence method 2024-06-07 21:29:44 +03:00
Filipp Vakhitov efde94db7a Fix recursive forEachCaretInvocation 2024-06-07 18:05:02 +03:00
Filipp Vakhitov 6ec072b34e End inputSequence on motion in insert mode 2024-06-07 17:12:11 +03:00
Filipp Vakhitov 4027a21514 Support most* cases for starting / ending inputSequence
* - Ending inputSequence on motion in insert mode is not supported in this commit
2024-06-07 16:55:22 +03:00
Filipp Vakhitov 3665b1ab00 Improve UndoRedoHelper to split insert input into multiple undo sequences 2024-06-07 16:27:58 +03:00
Filipp Vakhitov cf6b292f0c Add methods to work with InsertSequence 2024-06-07 16:24:37 +03:00
Filipp Vakhitov 507e4173d3 Introduce InsertSequence class 2024-06-07 16:09:25 +03:00
Filipp Vakhitov abc3575d3e Fix command registration order
We should prioritize ij commands over the engine ones
2024-06-07 16:03:27 +03:00
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 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 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 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 4798198e41 Minor refactorings 2024-06-03 11:54:48 +03:00