Commit Graph
1865 Commits
Author SHA1 Message Date
Mia Vucinic c2203afebc fix transaction and getVariable tests 2025-07-21 21:06:38 +02:00
Mia Vucinic 260b4d62d6 add implementation for highlighted yank plugin 2025-07-21 21:06:38 +02:00
Mia Vucinic 5ad55ad891 have mapping owner and listener owner passed as parameters in all scopes where necessary 2025-07-21 21:06:38 +02:00
Mia Vucinic bdaf0e2389 remove unnecessary options 2025-07-21 21:06:38 +02:00
Mia Vucinic 91fdc91f69 add proper implementation for put data functions 2025-07-21 21:06:38 +02:00
Mia Vucinic 764a45c99a fix get variable test 2025-07-21 21:06:38 +02:00
Mia Vucinic abbc46a3ed add a mapping owner to vim scope 2025-07-21 21:06:38 +02:00
Mia Vucinic 98f8226246 add listener scope implementation 2025-07-21 21:06:38 +02:00
Mia Vucinic d2f73a6102 add a listener owner to all listeners 2025-07-21 21:06:38 +02:00
Mia Vucinic 267313a2e0 get rid of editor as a constructor parameter in scopes 2025-07-21 21:06:38 +02:00
Mia Vucinic 55d2371574 add editor service 2025-07-21 21:06:38 +02:00
Mia Vucinic 3a63ed596f add implementation with templates for getVariable function 2025-07-21 21:06:38 +02:00
Mia Vucinic 24a0322b5a add more functions to the read 2025-07-21 21:06:38 +02:00
Mia Vucinic 1a968f7721 move update caret to caret transaction 2025-07-21 21:06:38 +02:00
Mia Vucinic 02a8a84728 rename editor to vimEditor 2025-07-21 21:06:38 +02:00
Mia Vucinic 6a896664ed introduce editor scope 2025-07-21 21:06:38 +02:00
Mia Vucinic 4d01f286f5 introduce caret scope 2025-07-21 21:06:38 +02:00
Mia Vucinic f1cb9247d1 add mapping scope 2025-07-21 21:06:38 +02:00
Mia Vucinic e946e74840 merge two mappings into one 2025-07-21 21:06:38 +02:00
Mia Vucinic 4db3e91d6a huge refactoring
- In the `api` module:
  - remove dependency on `vim-engine` module due to circular dependencies
  - move implementations of scopes to the `vim-engine`
  - add VimPluginDsl annotation to interfaces
  - make VimScope abstract class
  - remove ScopeBuilders file and move scope builders to the VimScope abstract class
 - In the `vim-engine` module:
  - add dependency on `api` module
  - add implementation of scopes
  - in VimInjector add new field - pluginService (reason for that is because functions from VimExtensionFacade are not available in the VimEngine)
2025-07-21 21:06:30 +02:00
Mia Vucinic cf95ea1fc9 add a proper implementation for getVariableInt 2025-07-21 21:05:43 +02:00
Mia Vucinic 8ea9b29e5e first api draft 2025-07-21 21:05:43 +02:00
Matt EllisandAlex Plãte 7d44c87873 Move ex prompt character out of API
The prompt character is now implemented as a custom view, only in the UI, and not inserted directly into the text. This simplifies management of the text (and removes/fixes an exception due to manually handling prompt offset), and also allows highlighting of the prompt character.
2025-07-21 18:43:28 +03:00
Matt EllisandAlex Plãte b67c3d7bab Add extra logging details
Randomly hit this condition, but don't know how
2025-07-21 18:43:28 +03:00
Matt EllisandAlex Plãte 261b910845 Add tests for rendering control characters 2025-07-21 18:43:28 +03:00
Matt EllisandAlex Plãte 2a603a681c Simplify implementation of VimInputInterceptor 2025-07-21 18:43:28 +03:00
Matt EllisandAlex Plãte ddf1612d11 Fix scrolling issues editing long command lines
Instead of replacing the whole string, which will reset scroll position, delete or insert the required text/offsets, and let the text field manage scroll position
2025-07-21 18:43:28 +03:00
Matt EllisandAlex Plãte bf32c5d5b5 Render control characters in ex cmdline 2025-07-21 18:43:28 +03:00
Matt EllisandAlex Plãte 0e9c3d9d87 Replace constants with enum 2025-07-21 18:43:28 +03:00
Matt EllisandAlex Plãte 654b95147b Simplify command line keystroke dispatching
Pass the keystroke to the key handler directly rather than relying on the superclass to call a default action handler that would do the dispatching
2025-07-21 18:43:28 +03:00
Matt EllisandAlex Plãte 56e6ecca89 Update history command and add tests 2025-07-21 18:43:28 +03:00
Matt EllisandAlex Plãte 055a3bc910 Remove deprecated and unused history related code 2025-07-21 18:43:28 +03:00
Xinhe WangandAlex Plãte 353603b546 Fix(VIM-3266): Set FileSaveCloseAction to OTHER_SELF_SYNCHRONIZED 2025-07-07 10:55:53 +03:00
Xinhe WangandAlex Plãte 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 WangandAlex Plãte af9023af4b Rename insertBeforeCursor and insertAfterCursor helpers
The terminology used in IntelliJ is "caret".
2025-07-07 10:55:30 +03:00
Xinhe WangandAlex Plãte c393c902b2 Fix(VIM-2375): do not save file with ZQ
ZQ is defined to `Quit without checking for changes (same as ":q!").`
2025-07-04 14:26:56 +03:00
Xinhe WangandAlex Plãte c355cb7ed7 Make VimChangeGroup::changeCaseMotion not accept non-Motion argument
Error is logged if `ChangeCaseMotion` actions receive non-`Motion` args
2025-07-03 17:25:38 +03:00
Xinhe WangandAlex Plãte 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 WangandAlex Plãte 5208412b46 Refine Argument.Motion::isLineWiseMotion and VimMotionGroupBase::getMotionRange
This does not change any actual behavior.
2025-07-03 17:25:38 +03:00
Xinhe WangandAlex Plãte 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
Thomas CanavaandAlex Plãte 30c972ee1e fix: Vim macro not working with arrows 2025-06-06 15:34:44 +03:00
Matt EllisandAlex Plãte 1e3738314a Add support for := to print line number
Fixes VIM-3921
2025-06-06 15:15:13 +03:00
Alex Plate 7c4cfe44ae Remove unused MutableBoolean data class from KeyHandler 2025-05-30 14:20:25 +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 b44308c9ef Remove skipping of command execution if it happens not on the EDT
This requirement was a fix for VIM-318 introduced in ac654d70fa.
However, now we always run IdeaVim on EDT. Also, this check prevents the migration of IdeaVim to the background thread: VIM-3935
2025-05-27 18:30:16 +03: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 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
Vladimir ParfinenkoandAlex Plãte c74163e917 Fix case settings in replacement string, VIM-3510
^VIM-3510 fixed
2025-05-09 12:08:01 +02:00
Vladimir ParfinenkoandAlex Plãte d38b2885ba Fix missing backreferences in replacement string, VIM-3895
^VIM-3895 fixed
2025-05-09 12:08:01 +02:00