1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2025-09-13 01:53:08 +02:00
Commit Graph

1603 Commits

Author SHA1 Message Date
Filipp Vakhitov
706ae3dd91 Move GlobalCommand to vim-engine 2024-06-28 13:55:06 +03:00
Filipp Vakhitov
9b15ed8181 Add VimRangeMarker 2024-06-28 13:55:06 +03:00
Filipp Vakhitov
f355bef36b Remove deprecated SearchGroup.java 2024-06-28 13:55:06 +03:00
Filipp Vakhitov
4391e69c48 Move DocumentSearchListener to IjVimSearchGroup 2024-06-28 13:55:06 +03:00
Filipp Vakhitov
0710d80391 Remove SearchGroup from GlobalCommand 2024-06-28 13:55:06 +03:00
jake.peters
31b2cd872f Use when expression instead of convoluted nested if else 2024-06-28 12:39:58 +03:00
jake.peters
2b6945cbb2 Add ability to iterate over all states for unassigned handlers
This is still a WIP
2024-06-28 12:39:58 +03:00
jake.peters
ae5f43918f Use BGT instead of EDT 2024-06-28 12:39:58 +03:00
jake.peters
6b6bc2752e Rename method to be more reflective of its toggle functionality. 2024-06-28 12:39:58 +03:00
jake.peters
4556adae3c Add ability to change all handlers to use either Vim or IDE shortcuts. 2024-06-28 12:39:58 +03:00
filipp
948520f90a Fix(VIM-3485): Stay in the same split when using (Back) or (Forward) 2024-06-21 17:44:44 +03:00
Matt Ellis
0765118ce2 Stop mapping negative 'scrolljump' to IntelliJ setting 2024-06-21 17:22:36 +03:00
Matt Ellis
efd4c7b617 Fix incorrect scrolling due to 'scrolloff' mapping
If IntelliJ's vertical scroll offset is set to the value of the 'scrolloff' option, IntelliJ's own implementation kicks in. This implementation includes virtual space at the bottom of the file in its calculation, scrolling to a different offset to IdeaVim's. In some circumstances, IdeaVim no longer scrolls, so the last line would no longer stick to the bottom of the screen after `G`. In other circumstances, the scroll would correctly reset, but there would be a visible flash as the editor scrolls to the wrong offset and then back, especially when using backspace at the bottom of the file.

Fixes VIM-3474
2024-06-21 17:22:36 +03:00
Alex Pláte
eae111bc2c Merge branch 'master' into create-files-and-directories 2024-06-21 16:52:46 +03:00
kun-codes
6a6c1dc6b4 add NERDTree action to delete files and directories 2024-06-21 16:52:01 +03:00
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
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
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