Commit Graph
5146 Commits
Author SHA1 Message Date
Alex Plate d52d631799 Cleanup of the IjActionExecutor 2025-03-11 17:44:43 +02:00
Alex Plate 84b485c6bc Use the proper context component when firing an action 2025-03-11 17:44:43 +02:00
Matt Ellis 3fa20dd417 Move status bar widgets after dotCover indicator
Rider's dotCover indicator is marked as "last" rather than relative to other dotnet icons. This position pushes out IdeaVim widgets, so make sure we're after "dotCoverIndicator"

See also DCVR-13021
2025-03-10 18:52:46 +00:00
Alex Plate f76b07521e Fix(VIM-3827): Fix an incorrect implementation of the >= operator
As a note: This is the first bug in IdeaVim that was fixed by AI (with manual verification, of course).
2025-03-10 10:50:26 +02:00
Alex Plate 55257e1017 Use VimTestCase in operator tests
Otherwise it was not possible to run just one test as the injector was not initialized
2025-03-10 10:42:08 +02:00
Alex Plate fc93661c62 Fix an issue that the XML config can't store nulls 2025-03-07 18:09:49 +02:00
Alex Plate 09321f409c Fix recursive runForEachCaret and a missing read action 2025-03-07 17:41:13 +02:00
Alex Plate 393d2d4353 Fix the issue that backspace key was not working in the code review comments for GitHub
The context component should be detected automatically
2025-03-07 16:48:43 +02:00
Alex Plate 4a31e425e0 Support per-caret selection type during yanking 2025-03-07 10:01:36 +02:00
Nath TumlinandAlex Pláte 156fbcd60d Make yank motion respect exclusive-linewise
I used the code in VimChangeGroupBase.getDeleteRangeAndType to do the check.

For an example of what this fixes, with the document:
```
    ${c}Hello!
```
executing "y}llp" before this change yields
```
    HelHello!
    lo!
```
but doing it with this change yields
```
    Hello!
    Hello!
````
2025-03-07 09:07:53 +02:00
Alex Plate cf49c0b76f Fix threading for property tests 2025-03-04 18:06:52 +02:00
Alex Plate ce01318032 Do not run test in nvim which executes IDE action 2025-03-04 17:40:09 +02:00
Alex Plate 3d1b502cd0 Wait for the action to be finished before returning the result 2025-03-04 17:31:43 +02:00
Alex Plate 572af0d349 Fix issue with esc
Currently, esc action will return false as it have no action in the editor. However, it doesn't mean that IdeaVim goes into the error mode
2025-03-04 17:27:45 +02:00
Alex Plate 681cef1d69 Enable the new way of action execution by default 2025-03-04 15:37:54 +02:00
Alex Plate f88a1cbe06 Add more wrappings for read actions 2025-03-04 15:36:18 +02:00
Alex Plate 38102afc0f Upgrade version of kotlin to 2.0.21 2025-02-28 19:22:16 +02:00
Alex Plate 8483e23ea7 [VIM-3376] Add a new way of executing the action 2025-02-28 19:07:55 +02:00
Alex Plate dbc626c794 Add a note about the octopus handler description 2025-02-28 17:38:20 +02:00
Alex Plate 692e4434d1 [VIM-3815]: Disable Octopus Handler for Rider and other IDEs with the new typing engine 2025-02-28 17:14:06 +02:00
Alex Plate 89e530276f Get rid of the AppCode-specific code
AppCode was sunset, so there is no need to support it in IdeaVim
2025-02-28 17:14:06 +02:00
Alex Plate 0b7c86fa7e Use the read action to get the caret offset in EditorSelectionHandler 2025-02-26 10:13:45 +02:00
Matt EllisandAlex Pláte ca4de6f317 Add missing shortcuts for WORD left/right in Select 2025-02-25 15:38:49 +02:00
Filipp Vakhitov 75dadc9610 Fix(VIM-3802): Completion should create undo checkpoint
Do not create checkpoints for Enter keypress
2025-02-25 15:09:41 +02:00
Filipp Vakhitov f6146b8732 Fix(VIM-3802): Completion should create undo checkpoint 2025-02-25 14:36:46 +02:00
Alex Plate 4025619b48 Turn write action while executing the IJ action into an error 2025-02-24 14:40:42 +02:00
Alex Plate 9b1da76499 Remove unneeded write action in output panel 2025-02-24 14:39:59 +02:00
Alex Plate 4ca25eed70 Remove the use of write action in macros 2025-02-24 14:31:14 +02:00
Alex Plate e257a10525 Fix an issue that the highlighting was silently missing due to an error 2025-02-24 12:13:51 +02:00
Alex Plate 42d80f6866 Add write action in several places 2025-02-21 19:32:47 +02:00
Alex Plate fedefea0aa Remove the write action in several places 2025-02-21 18:56:52 +02:00
Alex Plate 437fa9a1a0 Remove the root write and read actions
Historically, IdeaVim was starting read or write action based on command type. However, this is incorrect because of several reasons:
- The command of different type may perform a write/read action
- The write lock with a lot of code inside does cause application freezes
- Since a large branching of code happens inside the write action, there is a chance of read action request, resulting in the deadlock

Also, now this prevents from implementing a proper execution of VIM-3376.
2025-02-21 18:44:51 +02:00
Alex Plate 0511ee277f Remove the requirement for the write action in macros
It's not clear why the write action was needed. Probably, it was a mistake and it supposed to be a check for EDT. However, since the check for EDT exists right in the constructor of the potemkin progress, let's remove it at all.
2025-02-21 17:40:40 +02:00
Alex Plate 45d92c1981 Use the read action for neovim tests in other place 2025-02-21 13:33:53 +02:00
Alex Plate 58de834832 Use the read action for neovim tests 2025-02-21 13:17:37 +02:00
Alex Plate 3866565e51 Remove IdeaVimTestCase and replace it with VimTestCase 2025-02-21 13:03:23 +02:00
Alex Plate 564ab7d75e Remove EDT and write action from the VimTestCase 2025-02-21 09:54:12 +02:00
Matt EllisandAlex Pláte 43a2bd98db Reduce multiple implementations to one 2025-02-21 09:53:11 +02:00
Matt EllisandAlex Pláte 4787a5e22a Rewrite backwards search for word under cursor 2025-02-21 09:53:11 +02:00
Matt EllisandAlex Pláte 1a8789b50c Rewrite next/previous word motions and objects 2025-02-21 09:53:11 +02:00
Matt EllisandAlex Pláte b5937e885d Rewrite displayLocationInfo to avoid findNextWord
Simplifies and fixes counting words, especially when selection intersects words. Also moves implementation to engine and adds more tests.
2025-02-21 09:53:11 +02:00
Matt EllisandAlex Pláte cad6afdc9d Rewrite word end motions and word objects 2025-02-21 09:53:11 +02:00
Matt EllisandAlex Pláte 54ef691a98 Add tests for outer word motions and blank lines 2025-02-21 09:53:11 +02:00
Matt EllisandAlex Pláte 426c2fd006 Handle blank and empty lines for text objects
Fixes VIM-1642
2025-02-21 09:53:11 +02:00
Matt EllisandAlex Pláte f25c56b545 Refactor checks for including following whitespace 2025-02-21 09:53:11 +02:00
Matt EllisandAlex Pláte 960eb50d8c Fix incorrectly selected new line char with viw 2025-02-21 09:53:11 +02:00
Matt EllisandAlex Pláte 18b4b76ebf Select trailing whitespace with viw
Inner word/WORD motions will select trailing whitespace at the end of a line without wrapping
2025-02-21 09:53:11 +02:00
Matt EllisandAlex Pláte d9e575d4a2 Select leading whitespace with viw
Inner word/WORD motions will select leading whitespace at the start of a line without wrapping
2025-02-21 09:53:11 +02:00
Matt EllisandAlex Pláte 1769804c8a Select leading whitespace with vaw
Outer word/WORD motions will select leading whitespace at the start of a line
2025-02-21 09:53:11 +02:00
Matt EllisandAlex Pláte 81e094ac8f Select trailing whitespace with vaw
Outer word/WORD motions will select trailing whitespace at the end of a line
2025-02-21 09:53:11 +02:00