Commit Graph
6293 Commits
Author SHA1 Message Date
Matt Ellis a2fb8acd47 Remove obsolete ExShortcutKeyAction
All CMD_LINE actions are registered the same as other Vim commands, which means all shortcuts are already registered with the IDE's action system. The existing VimShortcutKeyAction class will dispatch shortcuts to the key handler, where they will be handled as real CMD_LINE actions.
2025-07-21 18:43:28 +03:00
Matt Ellis b284deb1b7 Extract some state and accessors out of text field
Encapsulate text field a little better
2025-07-21 18:43:28 +03:00
Matt Ellis 56e6ecca89 Update history command and add tests 2025-07-21 18:43:28 +03:00
Matt Ellis 055a3bc910 Remove deprecated and unused history related code 2025-07-21 18:43:28 +03:00
Matt Ellis e2b50809ac Fix warning of renamed parameter 2025-07-21 18:43:28 +03:00
Matt Ellis 40ff54c47f Remove non-Vim key bindings from ex command line
Shift+Insert and Alt+V for paste. These are non-standard, not documented and can be added with `cmap` if required
2025-07-21 18:43:28 +03:00
Matt Ellis 1638bc304d Improve input method highlighting in ex field 2025-07-21 18:43:28 +03:00
Alex Plate 1482ac0335 Fix(VIM-3970): Get rid of VimStandalonePluginUpdateChecker 2025-07-18 16:03:59 +03:00
zuberol 07990847c6 Merge pull request #1223 from JetBrains/feat/VIM-3791-nerdtree-gg-G-jumps
Feat(VIM-3791): support for "G" and "gg" motions inside the NERDtree
2025-07-17 11:44:07 +02:00
Xinhe Wang 2f7f0dcacb Fix(VIM-3044): correct the behavior of I in (linewise) Visual mode
For visual selections spanning multiple lines, keep caret position
if it's on the first line. Otherwise move the caret to the start of
the first selected line.
2025-07-07 10:55:30 +03:00
Xinhe Wang af9023af4b Rename insertBeforeCursor and insertAfterCursor helpers
The terminology used in IntelliJ is "caret".
2025-07-07 10:55:30 +03:00
Xinhe Wang 0803a1c195 Fix(VIM-2413): correct the range of line-wise case change commands
The start of the range is the leftmost non-whitespace character
OR the current position, whichever is closer to the left.
2025-07-03 17:25:38 +03:00
Xinhe Wang 2377408028 Fix(VIM-2142): support gU and gu in VISUAL mode
Note that this implementation assumes that the 'gU' / 'gu' command in
visual mode is equivalent to 'U' / 'u'. While 'v_gU' and 'v_gu' are not
explicitly documented in Vim help, we treat these commands as identical
based on observed behavior, without examining Vim's source code.
2025-07-02 18:56:29 +03:00
Alex Plate 246425b1fb Mark IdeaVim as a plugin that supports vim configuration
In this way, we'll be able to actively promote IdeaVim as a suggested plugin in the IDE.

GO-17806
2025-06-27 19:43:08 +03:00
Jakub 4eadfc1fba feat: support for "G" and "gg" motions inside the NERDtree 2025-06-27 13:51:44 +02:00
Alex Plate 75cd79312c Which-Key plugin don't use VimShortcutKeyAction anymore, so we can hide it
The change was here: https://github.com/TheBlob42/idea-which-key/commit/2a1191a260244decc3091f675adf21c2a8950a20
2025-06-06 17:02:35 +03:00
Thomas Canava b868e0cb81 test: Update tests to match new keys 2025-06-06 15:34:44 +03:00
Thomas Canava 30c972ee1e fix: Vim macro not working with arrows 2025-06-06 15:34:44 +03:00
chylex 761f6f5fb9 Implement pumvisible() function 2025-06-06 15:21:26 +03:00
Matt Ellis 1e3738314a Add support for := to print line number
Fixes VIM-3921
2025-06-06 15:15:13 +03:00
Alex Plate 77a106f9c6 Throw ProcessCanceledException instead of silently ignoring it in VimTypedActionHandler
This is a requirement from the platform
2025-05-30 19:41:41 +03:00
Alex Plate 1f66bdf5ed Refactor tests in ChangeActionTest.kt for better readability by reformatting doTest calls and improving code style consistency. 2025-05-30 15:12:43 +03:00
Alex Plate b58c1a42d2 Remove unused mappingCompleted parameter from handleKey methods
This updates method signatures and removes the redundant parameter throughout the codebase. Adds a deprecated overload for backward compatibility.
2025-05-30 14:16:40 +03:00
Alex Plate 02fab15aa9 Add tests that verify the behaviour with oldundo flag 2025-05-28 16:45:06 +03:00
Alex Plate 6c9d85cce0 Add a big number of undo tests for macros
This is a part of work for VIM-3935. Since we'll have to change the `CommandProcessor` execution, this may affect the "undo" command behavior. To ensure the stability, we add undo tests before making a refactoring.
2025-05-28 12:40:56 +03:00
Alex Plate 360080e8c0 Enable some disabled tests 2025-05-28 12:14:08 +03:00
Alex Plate e41831798e Add a big number of undo tests for ex commands
This is a part of work for VIM-3935. Since we'll have to change the `CommandProcessor` execution, this may affect the "undo" command behavior. To ensure the stability, we add undo tests before making a refactoring.
2025-05-28 11:48:38 +03:00
Alex Plate c93c9e539c Add a big number of undo tests
This is a part of work for VIM-3935. Since we'll have to change the `CommandProcessor` execution, this may affect the "undo" command behavior. To ensure the stability, we add undo tests before making a refactoring.
2025-05-28 09:46:05 +03:00
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