Commit Graph
5146 Commits
Author SHA1 Message Date
Alex Plate d02f0e17ca Revert "Fix(VIM-3376): Refactor the way IdeaVim executes actions"
This reverts commit 24514039
2024-07-31 13:14:25 +03:00
Filipp Vakhitov 5dc860f61e Fix(VIM-3569): Pipe-symbol can no longer be used in remaps 2024-07-30 18:02:12 +03:00
Alex Plate 956e726c31 Add test 2024-07-29 17:48:07 +02:00
Alex Plate 446067e2fe Update formatting 2024-07-29 16:57:29 +02:00
Alex Plate bd53a895c0 Return nullability of editor in action 2024-07-29 16:54:02 +02:00
Alex Plate 622eb887c8 Make style refactoring 2024-07-29 16:37:57 +02:00
Alex Plate 9fb614e16c Pass editor to the "execute" method of the NativeAction 2024-07-29 16:36:01 +02:00
Alex Plate bfb1d5b7f5 Remove accidential return 2024-07-29 14:08:15 +02:00
Alex Plate 9719106a14 Fix incorrect assertions after migration to the new version of gradle plugin 2024-07-29 13:52:14 +02:00
Alex Plate 560700c9aa Pass editor to the execution of the action
Related: VIM-3376
2024-07-29 12:49:16 +02:00
Alex Plate 24514039e1 Fix(VIM-3376): Refactor the way IdeaVim executes actions
Now instead of a few hacks, we use a special function from the platform
2024-07-29 12:49:16 +02:00
Alex Plate ff44596c1a Migrate to gradle plugin 2.0.0-rc1 2024-07-26 19:00:31 +03:00
Filipp VakhitovandAlex Pláte b001d63fd9 Do not fire VimInsertListener on every mode change 2024-07-26 17:30:08 +03:00
Filipp VakhitovandAlex Pláte 5db96bef28 Fix compilation with IdeaVimExtension 2024-07-26 17:30:08 +03:00
Filipp VakhitovandAlex Pláte 39c615cddd Do not cast VimStateMachine classes in vim-engine
It will break if we change implementation in Fleet
2024-07-26 17:30:08 +03:00
Filipp VakhitovandAlex Pláte 961173a93b Fix tests 2024-07-26 17:30:08 +03:00
filippandAlex Pláte 883744e4ee Move blockInsert to vim-engine 2024-07-26 17:30:08 +03:00
filippandAlex Pláte 66173e03be Move reformatCodeRange to vim-engine 2024-07-26 17:30:08 +03:00
filippandAlex Pláte e455722758 Move more methods to vim-engine 2024-07-26 17:30:08 +03:00
filippandAlex Pláte 823bdc1561 Replace VimYankGroup with implementation that works with VimListenersNotifier 2024-07-26 17:30:08 +03:00
filippandAlex Pláte f91fda2ca5 Remove VimInsertListener
It can be replaced by ModeChangeListener
2024-07-26 17:30:08 +03:00
filippandAlex Pláte 92abd76615 Move more methods to engine 2024-07-26 17:30:08 +03:00
filippandAlex Pláte 57c45ca153 Move more methods to engine 2024-07-26 17:30:08 +03:00
filippandAlex Pláte 7c623ae4b5 Move case change methods to engine 2024-07-26 17:30:08 +03:00
filippandAlex Pláte f2ef92cdef Remove unused method 2024-07-26 17:30:08 +03:00
Filipp Vakhitov e8e6eabe97 Fix tests
See https://youtrack.jetbrains.com/issue/VIM-3566/Unit-Tests-Test-UI-Caret-Attributes for more details.
2024-07-26 16:31:47 +03:00
Filipp Vakhitov ef1c915264 Fix visual mode not being removed.
Steps to reproduce:
1. Select some text inside diff editor
2. Open 'Find in Files' window and search for file
3. Open the found file

Result: current mode is VISUAL
2024-07-26 14:24:01 +03:00
Filipp Vakhitov a5e2168f7f Fix(VIM-3540): Caret icon is stuck in incorrect mode when having two or more simultaneous instances running
Some of the text input fields where Vim should not work at all had block carets.
It did not happen before, because previously we had a unique VimStateMachine for each editor and for newly created editors it was in INSERT mode. And we did call the updateSecondaryCaretsVisualAttributes method for editors that have nothing to do with Vim, but because of the INSERT mode it was looking OK.
However, now the VimStateMachine is global, and we can't rely on local INSERT anymore.
This commit forbids updating caret visual attributes for editors that do not support Vim.

NOTE: `isIdeaVimDisabledHere` is broken during editor creation handling, it always returns true. However, we do not trigger carets redraws on editor creation and do it on focus events, so it should work.
2024-07-26 00:44:35 +03:00
Filipp Vakhitov 83e5470b3a Fix(VIM-3563): Can't exit insert mode in Readonly File 2024-07-25 22:54:39 +03:00
Matt Ellisandlippfi d766c3b8ee Add test for nested insert literal action 2024-07-23 23:08:24 +03:00
Filipp Vakhitov 2aa71a0008 Add "Dracula" theme to mode widget 2024-07-23 19:36:07 +03:00
Filipp Vakhitov c2c0c2aba2 Fix(VIM-3552): Undo undoes paste and insert in one keypress 2024-07-22 23:08:56 +03:00
Alex Plate 4a85058ba2 Start using kotlin 2.0
Originally this is needed to update the dependency on AceJump, which uses the kotlin 2.0 compiler, and its classes are not compatible with the old compiler
2024-07-19 17:13:59 +03:00
filipp 7e28deb328 Better logic
In case that user will unsubscribe via setting UI and won't call IdeaVim's action
2024-07-19 16:29:15 +03:00
filipp f3767b53b7 Subscribe IDE EAP users to IdeaVim EAP 2024-07-19 16:12:33 +03:00
Filipp Vakhitov 5588c27037 Attempt to fix VIM-3540
I'm not sure what causes the issue, but everything was working when we were updating visual attributes per each caret and... let update them per each caret
2024-07-17 14:45:50 +03:00
Filipp VakhitovandAlex Pláte 90d36eea98 Make myInputInterceptor private 2024-07-17 13:30:54 +03:00
Filipp VakhitovandAlex Pláte f4414de86c Safer getCurrentModalInput() 2024-07-17 13:30:54 +03:00
Filipp VakhitovandAlex Pláte d46102ccaf Remove deprecated method from vim-engine 2024-07-17 13:30:54 +03:00
Filipp VakhitovandAlex Pláte 82347f5f0d Fix surround 2024-07-17 13:30:54 +03:00
Filipp VakhitovandAlex Pláte c594f28acb Fix compilation 2024-07-17 13:30:54 +03:00
Filipp VakhitovandAlex Pláte aec2f4c435 Remove isCancel argument
It was not used anywhere
2024-07-17 13:30:54 +03:00
Filipp VakhitovandAlex Pláte 80cc236f48 Remove modal input on click 2024-07-17 13:30:54 +03:00
Filipp VakhitovandAlex Pláte e432a02a45 Remove confirmChoice method
It used secondary loop
2024-07-17 13:30:54 +03:00
Filipp VakhitovandAlex Pláte d7894fa7f4 ProcessSubstituteCommand refactoring part 9
Finally, moved confirmation dialog to modal input
2024-07-17 13:30:54 +03:00
Filipp VakhitovandAlex Pláte 82cd534756 Remove startExEntry method
We may create a command line via the VimCommandLineService and forget (or do not know) about calling startExEntry necessary. So we move its logic inside the creation of the command line
2024-07-17 13:30:54 +03:00
Filipp VakhitovandAlex Pláte 673809d6b9 Move lastCommand to CmdFilterCommand 2024-07-17 13:30:54 +03:00
Filipp VakhitovandAlex Pláte c03a2dfe7e Add support for finishOn in readInputAndProcess 2024-07-17 13:30:54 +03:00
Filipp VakhitovandAlex Pláte 75935ce4d1 Add readInputAndProcess to replace inputString and save us from using secondary loop 2024-07-17 13:30:54 +03:00
Filipp VakhitovandAlex Pláte f0b203409e Replace cancelExEntry with close method in VimCommandLine 2024-07-17 13:30:54 +03:00