Commit Graph
5765 Commits
Author SHA1 Message Date
Alex Plate 8c612afed6 VIM-3929: Re-enable IdeaVim in diff editors 2025-05-27 13:07:43 +03:00
Alex Plate 2c057e937a Fix(VIM-3929): IdeaVim is disabled in non-file based editors of IDE
This change should fix issues in Rider evaluate window and other places.

However, we may face small issues as IdeaVim will be disabled in more places than it used to be. However, this approach looks safer as before that we were disabling some random keys
2025-05-23 19:34:17 +03:00
Alex Plate 2548008116 Add missing switches to EDT during test 2025-05-23 17:14:26 +03:00
Alex Plate c43eb1212e Bring back CommandState to fix the compatibility with the external plugins 2025-05-23 16:53:01 +03:00
Alex Plate 4c11399b43 Bring the compatibility with the latest EAP version
Removed a single test on JSON. There are always problems with the json plugin in IJ. In 2025.2 EAP it was unbundled.
2025-05-23 16:48:37 +03:00
Alex Plate 18f3ba6fe1 Rethrow ProcessCancelledException 2025-05-23 16:22:04 +03:00
Alex Plate d3f248d2f9 Refactor reset to avoid service initialization during the dispose 2025-05-09 19:04:10 +02:00
Alex Plate f623c1eef9 Fix(VIM-3784): Integrate a notification that will warn new GoLand users that they use IdeaVim 2025-05-09 18:39:17 +02:00
Alex Plate f03734e235 Fix(VIM-3786): Disable IdeaVim in the AI assistant 2025-05-09 16:31:44 +02:00
Alex Plate 85acdc2e24 Fix(VIM-3881): Execute undo/redo directly for the remote dev scenarios 2025-05-09 16:20:27 +02:00
Alex Plate ab635972cc Remove a lot of deprecated methods in IdeaVim 2025-05-09 12:58:47 +02:00
Matt Ellis fd5af31247 Report cannot track intention action
If an alt+enter intention is invoked from Search Everywhere, IdeaVim's Track Action ID shows "Cannot detect action ID" instead of explaining that there is no action ID.

Relates to VIM-2541
2025-05-09 12:11:11 +02:00
Matt Ellis df74b75570 Stop switching fragment editors to Insert mode
Fixes VIM-1217
2025-05-09 12:10:10 +02:00
Vladimir Parfinenko c74163e917 Fix case settings in replacement string, VIM-3510
^VIM-3510 fixed
2025-05-09 12:08:01 +02:00
Vladimir Parfinenko d38b2885ba Fix missing backreferences in replacement string, VIM-3895
^VIM-3895 fixed
2025-05-09 12:08:01 +02:00
Vladimir Parfinenko 61666d1cfd Always print float numbers using period as a decimal separator, VIM-3894
^VIM-3894 fixed
2025-05-09 12:02:56 +02:00
Alex Plate 35ddb21fe0 Fix the deprecated method use 2025-05-09 11:09:11 +02:00
Alex Plate ccdd708907 Get rid of the old way of action execution 2025-05-08 18:22:40 +02:00
Alex Plate 73e61e0955 Get rid of hacks for Rider regarding esc and enter 2025-05-08 17:49:15 +02:00
Alex Plate c3fa093d32 Upgrade the code to use the 2025.1 functions 2025-05-08 17:47:35 +02:00
Alex Plate a94d509441 Remove other code deprecations 2025-05-08 17:33:41 +02:00
Alex Plate 12fd5bc79a Remove deprecated functions 2025-05-08 17:20:58 +02:00
Alex Plate 57ecd25640 Refactor MacKeyRepeat.kt in order to remove the deprecated methods use 2025-05-08 17:18:17 +02:00
Alex Plate 09d37ebd38 Convert MacKeyRepeat to kotlin 2025-05-08 17:11:39 +02:00
Alex Plate 81bc3f1f1b Rename .java to .kt 2025-05-08 17:11:39 +02:00
Alex Plate 9e3058dace Code cleanup: remove some deprecations from the source code 2025-05-08 17:04:25 +02:00
M. V 35b9eaae3e VIM-2263 Add a not-null assertion operator to getRegister function to since assertions won't be executed if register does not exist 2025-05-07 18:54:26 +02:00
M. V 4eee1d3192 VIM-2263 Add additional tests that check the content of the registers 2025-05-07 18:54:26 +02:00
M. V 3c2e2bfb68 VIM-3771 Add a smile command with python ascii art 2025-05-07 18:54:12 +02:00
M. V 3f75b6db6d VIM-3771 Add a smile command with java ascii art 2025-05-07 18:54:12 +02:00
M. V 5fd318bf88 VIM-3771 Add a smile command with kotlin and default ascii art 2025-05-07 18:54:12 +02:00
M. V 6d34c70a9d VIM-3771 Rename VirtualFile.kt to VimVirtualFile.kt and add a new property extension 2025-05-07 18:54:12 +02:00
Alex Plate 5bf2b51c5d Add a comment about the change 2025-05-05 17:00:33 +02:00
Ivan.Yarkov 5959fc2824 RIDER-123506 don't insert line break on enter in insert mode for Rider 2025-05-05 16:59:57 +02:00
Alex Plate a9f9ae3727 Fix(VIM-3786): Make a workaround to fix shift-enter in AI chat 2025-04-29 19:36:05 +03:00
Alex Plate 8bfcd13c33 Fix(VIM-3882): Register the VimShortcutAction to the editor component instead of its wrapper
It turned out the editor.getComponent returns not the editorComponent, but the parent of the component. This caused no problems until the AI plugin started to register enter/esc on the editor component directly. Since an editor component is more specific than the component with vim actions, the vim shortcuts were suppressed.

In this change, we start to register shortcuts on the editor component directly, allowing them to properly work on the same level as AI shortcuts. This is also the level where the shortcuts are supposed to be registered.
2025-04-28 17:55:18 +03:00
Matt Ellis 70d662fe28 Remove obsolete internal options 2025-04-22 15:48:19 +03:00
Alex Plate 8247392dc3 Fix some compilation warnings 2025-04-16 22:12:36 +03:00
Alex Plate 443e50b55f Add tests for case changing
Mostly to highlight that commands in format `gugu` and `gUgU` don't work for the moment
2025-04-16 19:44:38 +03:00
Alex Plate 1891216182 Fix(VIM-3878): Support ROT13 command g? 2025-04-16 19:44:38 +03:00
Alex Plate 5d2852420a Remove the duplication method for existing the select mode 2025-04-15 09:20:00 +03:00
Matt Ellis e86503798a Remove special case handling for Plug mapping
While it might not make sense to replay an incorrect `<Plug>` or `<Action>` mapping as characters where they are likely to cause unexpected behaviour as Normal commands, this is standard Vim behaviour (at least for `<Plug>`).

Note that `<Plug>` (and `<Action>`) is a special key code that cannot be typed. In Insert mode, Vim expands it to the text "<Plug>".
2025-04-10 19:32:29 +03:00
Matt Ellis 9b4f114d61 Refactor MappingProcessor
Extract single implementation for replaying unhandled keys and update to match the longest mapping that fits in the unhandled keys.
2025-04-10 19:32:29 +03:00
Matt Ellis 3155556832 Reformat and update comments for MappingProcessor
Minor refactorings, should be no changes in logic
2025-04-10 19:32:29 +03:00
Matt Ellis 07190f38c9 Fix :normal command with multi-letter mapping 2025-04-10 19:32:29 +03:00
Matt Ellis db116faa32 Fix handling of modes in NormalCommand
All commands are called in Normal, so there is no need to check mode at execution time. The SAVE_VISUAL flag is perhaps poorly named, as it still change to Normal mode, but will save the current selection for commands that need (usually because they interact with IDE features). The `:normal` command does not need the current selection.
2025-04-10 19:32:29 +03:00
Matt Ellis 58496fa1a1 Uncomment NormalCommandTest.kt 2025-04-10 19:32:29 +03:00
Alex Plate 8af848cef6 Fix(VIM-3861): Fix the debug action execution 2025-03-31 12:33:18 +03:00
Matt Ellis 6d3bde3ad5 Fix incorrect implementation of DoesNotMatchHandler 2025-03-28 19:07:06 +02:00
Matt Ellis 3b2b863c88 Update truthy expressions 2025-03-28 19:07:06 +02:00