Commit Graph
8348 Commits
Author SHA1 Message Date
Matt EllisandAlex Pláte 67f10aece5 Fix search motion type when providing offset
Search motion type should be linewise if there's a line offset, or inclusive if the `e` flag is provided. Otherwise, it's exclusive.

Fixes VIM-1940
2024-05-28 13:53:13 +03:00
Matt EllisandAlex Pláte 9b5c777fcf Update highlights when editor scheme changes 2024-05-28 13:53:13 +03:00
Matt EllisandAlex Pláte c65e5f8341 Fix highlighting for 'incsearch' and 'nohlsearch'
Setting 'incsearch' and 'nohlsearch' should highlight only the current match in the current editor
2024-05-28 13:53:13 +03:00
Matt EllisandAlex Pláte 053bb603cd Fix errors with incsearch and substitute command
Fixes VIM-3325
2024-05-28 13:53:13 +03:00
Matt EllisandAlex Pláte 93b07bbb90 Update comments and fix warnings 2024-05-28 13:53:13 +03:00
Matt EllisandAlex Pláte 764a115601 Show search highlights in all visible editors
Fixes VIM-2174
2024-05-28 13:53:13 +03:00
Matt EllisandAlex Pláte 1adfe53f29 Fix wrong offset returned for current search result
Fixes VIM-2779
2024-05-28 13:53:13 +03:00
Matt EllisandAlex Pláte bfe0f51cb1 Restore current match highlighting for :s command
Regression while migrating to the new regex engine removed the highlights shown when confirming each change
2024-05-28 13:53:13 +03:00
Matt EllisandAlex Pláte ffce61906a Restore search highlights when setting 'hlsearch'
Fixes VIM-3257
2024-05-28 13:53:13 +03:00
Filipp Vakhitov 3843a193cb Deprecate classes related to Swing TextActions 2024-05-26 23:56:27 +03:00
IdeaVim Bot b2410dab0b Add Egor Nikolaevsky to contributors list 2024-05-25 09:01:49 +00:00
Matt EllisandAlex Pláte f382544101 Fix clearing highlighted yank in modal dialogs
Also fixes a memory leak registering a disposable for each yank, allows config variables to be numbers rather than strings and removes highlights when IdeaVim is disabled

Fixes VIM-2236
2024-05-24 18:05:51 +03:00
Filipp Vakhitov a81d54eb90 Remove VimCommandLineHelper 2024-05-24 17:18:24 +03:00
Filipp Vakhitov 23519bbdae Refactoring to use interfaces from vim-engine 2024-05-24 16:51:38 +03:00
Alex Plate 73fd25773a Add test for VimIndentObject
For PR https://github.com/JetBrains/ideavim/pull/884
2024-05-24 16:20:36 +03:00
Egor NikolaevskyandAlex Pláte 746d483179 Fix indent size calculation 2024-05-24 16:19:50 +03:00
Alex Plate 1a7e90c7d7 Bump the minimal version of IJ to 241
There are a lot of incompatibilities with IdeaVim on 241 if it's built on 233

Also, this time the special branch for the IJ version won't be created. Previously on bumping the version of IJ, we've created the branch to keep the reference to the moment when it happened. However, IJ version bumps are easy to trace anyway by git.
2024-05-24 15:37:05 +03:00
Filipp Vakhitov 8e2fd44f55 Remove unnecessary methods from ProcessGroup 2024-05-24 14:25:51 +03:00
Filipp Vakhitov 1c84917b29 Move LeaveCommandLineAction to its own class 2024-05-24 12:58:04 +03:00
Filipp Vakhitov c5522ed19d Move ExEntryAction to vim-engine 2024-05-24 12:56:52 +03:00
IdeaVim Bot 33a5480456 Add Eduardo Haesbaert to contributors list 2024-05-24 09:01:57 +00:00
Alex Plate 16cd05fc76 Fix incorrect use of visual position instead of buffer position
We should calculate the line above based on logical position rather than visual position.

This issue was detected thanks to newly introduced soft wraps and proprty tests
2024-05-24 11:39:45 +03:00
Eduardo HaesbaertandAlex Pláte 4788dacc86 Fix wording
There is one additional `the` before the preview gif, and also, changing the wording from "to" to " for".
2024-05-24 10:10:46 +03:00
Filipp Vakhitov 91e54c8b0d Replace c_CTRL-R swing TextAction implementation with proper Vim engine implementation 2024-05-23 17:31:18 +03:00
Filipp Vakhitov 15ccebfe11 Cleanup 2024-05-23 15:27:18 +03:00
Filipp Vakhitov 5c849c9105 Fix ExEntryAction 2024-05-23 02:24:34 +03:00
Filipp Vakhitov 9e99506223 Move some logic to engine 2024-05-23 01:32:48 +03:00
Filipp Vakhitov 53ea90379f Moved some search related logic to commands to simplify KeyHandler and ProcessGroup 2024-05-23 00:15:46 +03:00
Filipp Vakhitov 2619d7ebb4 Moved some classes to the same file in vim-engine
They will share some logic in future commits
2024-05-22 22:14:54 +03:00
Filipp Vakhitov 8c8a7aceca Moved some classes to the same file in vim-engine
They will share some logic in future commits
2024-05-22 22:12:34 +03:00
Filipp Vakhitov 726b885b60 More obvious processing of ex-commands.
1. Now we have two parallel commandBuilders: for the editor and for the command prompt. It's done for sequence of keys like `d/foo<C-R>"<CR>` where we have two different commands that are built at the same time.
2. We simplified the CommandConsumer and made the logic more straightforward. `/`, `?` and `:` enter the command mode, while pressing final `<CR>` fires the command execution.
2024-05-22 22:04:32 +03:00
Filipp Vakhitov a6994a09c3 Add support for commands that can be executed either once or for each caret depending on some circumstances
In a future commit, I'm going to make ProcessExEntryAction responsible for processing both search and ex commands. Search commands are motions that are executed for each caret, while ex-commands are executed once. The per-caret code is held internally by the ex commands themselves.

The current solution is definitely not the right one, and the whole ex command subsystem needs to be reviewed and refactored:

1. Some commands can be motions, which is currently not supported.
2. We need to figure out a gentle way of handling multiple carets.
2024-05-22 15:44:12 +03:00
Alex Plate 1616aff5a1 Update version of TC config 2024-05-10 16:06:28 +03:00
Alex Plate 5a82f05be8 Update version of IJ in TC tests 2024-05-10 15:46:31 +03:00
Alex Plate 3020504cdc Rename kotlin TC config to avoid compilation issues 2024-05-10 15:36:41 +03:00
Matt EllisandAlex Pláte d00e802674 Update options documentation 2024-05-10 15:27:24 +03:00
Matt EllisandAlex Pláte c46008dddc Update Vim option even when IdeaVim is disabled 2024-05-10 15:27:24 +03:00
Matt EllisandAlex Pláte 755000c376 Reset Vim options when IDE setting changes
Options are not reset if they've been explicitly set by the user (e.g. `:set list` or _View | Active Editor | Show Whitespaces_). They are reset if they were explicitly set in `~/.ideavimrc`.

Also bumps the IDE build number to 233.11799.241 in order to use EditorSettingsExternalizable.PropNames
2024-05-10 15:27:24 +03:00
Matt EllisandAlex Pláte 1e4a60bfe6 Fix nullability warning 2024-05-10 15:27:24 +03:00
Matt EllisandAlex Pláte c9ee685956 Codify assumption re global-local external setting 2024-05-10 15:27:24 +03:00
Matt EllisandAlex Pláte c2b1083836 Updated descriptions as per review comments 2024-05-10 15:27:24 +03:00
Matt EllisandAlex Pláte 3518528f22 Prevent resetting options when plugin re-enabled 2024-05-10 15:27:24 +03:00
Matt EllisandAlex Pláte 9bed8fec79 Map 'scrolloff' and 'sidescrolloff' options
Fixes VIM-3110
2024-05-10 15:27:24 +03:00
Matt EllisandAlex Pláte 3ffbea7d42 Match Vim's behaviour for :set[local] {option}<
String and number/toggle options have different and opposite behaviour for `:set {option}<` and `:setlocal {option}<`. This change matches Vim's behaviour.
2024-05-10 15:27:24 +03:00
Matt EllisandAlex Pláte 39b42193cb Map 'scrolljump' and 'sidescroll' options
Fixes VIM-3110
2024-05-10 15:27:24 +03:00
Matt EllisandAlex Pláte c69e080b05 Add 'fileencoding' option
No tests, as I don't know how to test interaction with saving to disk
2024-05-10 15:27:24 +03:00
Matt EllisandAlex Pláte 50b42036d1 Add 'bomb' option
No tests, as I don't know how to test interaction with saving to disk
2024-05-10 15:27:24 +03:00
Matt EllisandAlex Pláte 340c40ceff Add 'fileformat' option
No tests, as I don't know how to test interaction with saving to disk
2024-05-10 15:27:24 +03:00
Matt EllisandAlex Pláte 6aeffe71de Map 'number' and 'relativenumber' options 2024-05-10 15:27:24 +03:00
Matt EllisandAlex Pláte 04c33d719e Improve relative line converter for soft wraps
It now shows visual lines relative to the caret's visual line, rather than relative to the caret's logical line. This still isn't correct, and we should be showing the relative count of Vim logical lines (buffer lines + fold lines) but this matches movement so is more helpful
2024-05-10 15:27:24 +03:00