Filipp Vakhitov
73769a3472
Move one method to VimProcessGroupBase
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
b2af8f153e
Add VimScriptFunctionServiceBase
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
37fb41fca8
Remove exCommandAnnotation option
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
e2b05ab639
Move Vimscript grammar to engine
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
354fd8fef0
Remove EditorHolderService.kt
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
9b97867be1
Support replace mode in command line
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
06685d1721
Move more logic to VimCommandLine interface
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
ae4b88a06b
Remove ExEntryPanel and move its method to VimCommandLine
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
c83ecc46ed
Rename method
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
c32050a208
Introduce actualText
and visibleText
for command line
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
4a8c7227e6
Remove default value
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
55e61a7094
Remove count for command line
...
It was not used anywhere
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
60977d05b6
Deprecate ExEntryPanel
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
601747f720
Changes to replace ExEntryPanel with interface and move more code to engine
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
0c91bc3207
Changes to replace ExEntryPanel with interface and move more code to engine
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
f5cd2c173f
Changes to replace ExEntryPanel with interface and move more code to engine
2024-06-05 11:35:58 +03:00
Matt Ellis
d00bd8bb25
Fix incsearch highlights with operator count
...
E.g. `2"a3"b4"c5d6/foo` will now highlight the current match correctly
2024-06-03 11:54:48 +03:00
Matt Ellis
a66e44d835
Fix [count]:
initial range text in ex field
...
Fixes regression from changes in ex field handling
2024-06-03 11:54:48 +03:00
Matt Ellis
ce05317634
Maintain Visual when cancelling search entry
2024-06-03 11:54:48 +03:00
Matt Ellis
a31a4a8ca7
Share ex entry set up with filter commands
2024-06-03 11:54:48 +03:00
Matt Ellis
c34d000b91
Reintroduce ProcessGroup.startExEntry
...
We need to share the implementation between starting an Ex command, and starting a filter command, which is just an Ex command with initial text
2024-06-03 11:54:48 +03:00
Matt Ellis
a2bfe950fa
Fix move command moving to current line
...
Removes a workaround that would break moving a range to the current line because it would always move the caret to the start of the range. Now positions the caret to the start of the selection if there is one. This also means we can remove the SAVE_VISUAL flag from JoinLinesCommand
Fixes VIM-2936
2024-06-03 11:54:48 +03:00
Matt Ellis
b44f40acd6
Fix incorrect output for line() in Normal mode
2024-06-03 11:54:48 +03:00
Matt Ellis
5169093bbf
Clear ex output after assert and fix tests
...
This ensures that a failing action doesn't pass due to previous state
2024-06-03 11:54:48 +03:00
Matt Ellis
b15b1cd3f8
Fix range with missing last address
...
Fixes VIM-992
2024-06-03 11:54:48 +03:00
Matt Ellis
f7b6a97435
Support 0 as part of a range address
...
Fixes VIM-1137
2024-06-03 11:54:48 +03:00
Matt Ellis
f64c99c406
Support incsearch highlighting for global command
...
Fixes VIM-2891
2024-06-03 11:54:48 +03:00
Matt Ellis
4798198e41
Minor refactorings
2024-06-03 11:54:48 +03:00
Matt Ellis
a59de4ce05
Add tests and fixes for yank command
...
Handles validation for count and ensures correct behaviour for registers.
2024-06-03 11:54:48 +03:00
Matt Ellis
2dea525665
Add tests and fixes for join command
...
Handles validation for count and positions caret in the correct place. Also handles join with visual multicaret scenarios.
2024-06-03 11:54:48 +03:00
Matt Ellis
8ecb1f7296
Add tests and fixes for print command
...
Handles validation of count and correctly moves caret to end of range after execution. Also fix issue where the results of :print are accumulated and not cleared.
Fixes VIM-2570
2024-06-03 11:54:48 +03:00
Matt Ellis
9ca9530061
Add tests and fixes for shift commands
...
Shift left and right now work with counts, validate the counts and move the caret to the correct end position
2024-06-03 11:54:48 +03:00
Matt Ellis
54e27afc3f
Simplify getCount functions
...
Made it explicit to get the count from argument and/or range. Default count is not passed, because it was never used. Added some tests where possible, but hard to test select file and friends
2024-06-03 11:54:48 +03:00
Matt Ellis
5e67032655
Add tests and fixes for delete lines command
...
Validates register before use and correctly uses register and count
2024-06-03 11:54:48 +03:00
Matt Ellis
cb37f6df63
Add tests and fixes for goto line command
...
Correctly handles some validation, and also allows going to line zero
2024-06-03 11:54:48 +03:00
Matt Ellis
ca3a18cf37
Add tests for goto character command
...
Also start to refactor handling of count
2024-06-03 11:54:48 +03:00
Matt Ellis
cac36627aa
Support 0 in copy command to copy to top of file
2024-06-03 11:54:48 +03:00
Matt Ellis
6404e1127e
Remove incorrect VimBehaviourDiffers annotation
2024-06-03 11:54:48 +03:00
Matt Ellis
739ac2ae5e
Simplify getting address from argument
2024-06-03 11:54:48 +03:00
Matt Ellis
77c364a2d0
Move count handling out of range into command
2024-06-03 11:54:48 +03:00
Matt Ellis
103cd9f5ce
Fix off-by-one error in count
...
Count needs to be one-based, lines must be zero-based. So store addresses as one-based until processed
2024-06-03 11:54:48 +03:00
Matt Ellis
99859fe857
Rename test classes
...
Also ensure that test derives from VimTestCase so that injector is correctly initialised
2024-06-03 11:54:48 +03:00
Matt Ellis
0a14150840
Extract TextRange from Ex range class
2024-06-03 11:54:48 +03:00
Matt Ellis
e8ffc0313f
Remove Range overloads that don't require a caret
...
Provide caret when calling from Command
2024-06-03 11:54:48 +03:00
Matt Ellis
076aab1ccf
Rename Ranges, and ExRanges.kt
2024-06-03 11:54:48 +03:00
Matt Ellis
751f51c88f
Rename Range and related classes to Address
...
An address evaluates to a line, and a range is a collection of addresses
2024-06-03 11:54:48 +03:00
Filipp Vakhitov
ab7359ffd3
Fix options test for Windows
...
Thanks @citizenmatt for this patch
2024-05-29 18:48:05 +03:00
Alex Plate
d795d70041
Disable some tests due to VIM-3376
2024-05-29 18:33:31 +03:00
Filipp Vakhitov
7abb1fd630
Finalizing merge
2024-05-28 23:35:31 +03:00
Filipp Vakhitov
9e3ca56afd
Merge branch 'refs/heads/master' into fleet
...
# Conflicts:
# src/main/java/com/maddyhome/idea/vim/ui/ex/ExEntryPanel.java
# vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/ex/LeaveCommandLineAction.kt
# vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/motion/search/SearchEntryFwdAction.kt
# vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/motion/search/SearchEntryRevAction.kt
# vim-engine/src/main/kotlin/com/maddyhome/idea/vim/key/consumers/CommandConsumer.kt
2024-05-28 22:19:17 +03:00
Filipp Vakhitov
5379528e3e
Minor post-review PR improvements
2024-05-28 21:52:43 +03:00
Filipp Vakhitov
12201359bc
Fix unwanted triggering of IDE actions instead of Vim ones
...
https://github.com/JetBrains/ideavim/pull/893#pullrequestreview-2082768468
2024-05-28 21:39:14 +03:00
Alex Plate
4481631547
Disable RedrawListener if the plugin is not enabled
2024-05-28 13:55:47 +03:00
Matt Ellis
7865388086
Fix regression when sub string ends with backslash
...
Fixes VIM-3428
2024-05-28 13:53:13 +03:00
Matt Ellis
26297bc5a9
Fix last line sometimes obscured by scrollbar
...
Fixes VIM-3028
2024-05-28 13:53:13 +03:00
Matt Ellis
9db5cdd8e3
Fix last line sometimes obscured by ex entry prompt
...
When performing a substitute command with confirmation, the height of the editor content pane should be reduced by the height of the ex entry panel. IdeaVim would do this correctly when moving a search result to the bottom of the file, but not when the result was on the last line of the file. Because the wrong height was used, IdeaVim would decide that no scrolling was necessary and the result in the last line would be obscured.
Fixes VIM-1560
2024-05-28 13:53:13 +03:00
Matt Ellis
2b17534a08
Fix infinite loop while highlighting in old regex
...
Fixes VIM-2510
2024-05-28 13:53:13 +03:00
Matt Ellis
4e2db68acf
Update selection when searching in Visual mode
2024-05-28 13:53:13 +03:00
Matt Ellis
ddabf8df5e
Fix regression finding endpos in new regex engine
...
Fixes VIM-3344
2024-05-28 13:53:13 +03:00
Matt Ellis
3f28e197ca
Clear status bar on scrolling, add/remove lines, etc.
...
Also implements <C-L> to "redraw" screen and clear status line
2024-05-28 13:53:13 +03:00
Matt Ellis
3a67524e8a
Show status bar message when search wraps
...
Fixes VIM-1043
2024-05-28 13:53:13 +03:00
Matt Ellis
f554b21cd9
Support count for search
...
Fixes VIM-2836
2024-05-28 13:53:13 +03:00
Matt Ellis
d9fa4e4648
Fix end of file atom for old regex engine
...
Fixes VIM-2888
2024-05-28 13:53:13 +03:00
Matt Ellis
e98a284d40
Fix multiline regex substitution
...
Fixes VIM-2141
2024-05-28 13:53:13 +03:00
Matt Ellis
38ef8c1053
Fix removing search highlight that crosses newline
2024-05-28 13:53:13 +03:00
Matt Ellis
d3f560a31c
Add special case to match newline with end of file
2024-05-28 13:53:13 +03:00
Matt Ellis
e2cb3ff284
Stop subst skipping too far with multiline pattern
...
Fixes VIM-698
2024-05-28 13:53:13 +03:00
Matt Ellis
0f5a3953e1
Don't break ex field with exceptions from incsearch
2024-05-28 13:53:13 +03:00
Matt Ellis
633667ed7f
Fix regression with global not saving used patterns
...
This is a messy quick fix, as the search group needs a lot of tidying up right now. Perhaps a better implementation would be to move the implementation of the global command into the search group - processGlobalCommand, like we already have processSearchCommand and processSubstituteCommand
Fixes VIM-3348
2024-05-28 13:53:13 +03:00
Matt Ellis
656e975562
Fix reset of last substitution string on use
...
Fixes VIM-3354
2024-05-28 13:53:13 +03:00
Matt Ellis
f7fbe89de4
Use EnumSet instead of list of enums
2024-05-28 13:53:13 +03:00
Matt Ellis
509829b052
Fix force ignorecase atom in search highlights
...
Fixes VIM-3391
2024-05-28 13:53:13 +03:00
Matt Ellis
efd61e17f2
Reset CMD_LINE mode when losing focus
...
Fixes VIM-3293
2024-05-28 13:53:13 +03:00
Matt Ellis
cf2b021d02
Fix search for last search pattern with new offset
...
Fixes VIM-2356
2024-05-28 13:53:13 +03:00
Matt Ellis
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 Ellis
9b5c777fcf
Update highlights when editor scheme changes
2024-05-28 13:53:13 +03:00
Matt Ellis
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 Ellis
053bb603cd
Fix errors with incsearch and substitute command
...
Fixes VIM-3325
2024-05-28 13:53:13 +03:00
Matt Ellis
93b07bbb90
Update comments and fix warnings
2024-05-28 13:53:13 +03:00
Matt Ellis
764a115601
Show search highlights in all visible editors
...
Fixes VIM-2174
2024-05-28 13:53:13 +03:00
Matt Ellis
1adfe53f29
Fix wrong offset returned for current search result
...
Fixes VIM-2779
2024-05-28 13:53:13 +03:00
Matt Ellis
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 Ellis
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
Matt Ellis
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 Nikolaevsky
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
c5522ed19d
Move ExEntryAction to vim-engine
2024-05-24 12:56:52 +03: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
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
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
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
Matt Ellis
c46008dddc
Update Vim option even when IdeaVim is disabled
2024-05-10 15:27:24 +03:00
Matt Ellis
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 Ellis
1e4a60bfe6
Fix nullability warning
2024-05-10 15:27:24 +03:00
Matt Ellis
c9ee685956
Codify assumption re global-local external setting
2024-05-10 15:27:24 +03:00
Matt Ellis
c2b1083836
Updated descriptions as per review comments
2024-05-10 15:27:24 +03:00
Matt Ellis
3518528f22
Prevent resetting options when plugin re-enabled
2024-05-10 15:27:24 +03:00
Matt Ellis
9bed8fec79
Map 'scrolloff' and 'sidescrolloff' options
...
Fixes VIM-3110
2024-05-10 15:27:24 +03:00
Matt Ellis
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 Ellis
39b42193cb
Map 'scrolljump' and 'sidescroll' options
...
Fixes VIM-3110
2024-05-10 15:27:24 +03:00
Matt Ellis
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 Ellis
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 Ellis
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 Ellis
6aeffe71de
Map 'number' and 'relativenumber' options
2024-05-10 15:27:24 +03:00
Matt Ellis
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
Matt Ellis
07f1d1e8e6
Move number/relativenumber options out of engine
...
While they are core Vim options, they are implemented by the host, not by the engine. If another host wants to support these options, they can add them in their implementation layer.
2024-05-10 15:27:24 +03:00
Matt Ellis
6c61254c50
Add 'colorcolumn' option to show visual guides
...
IntelliJ ties the hard wrap right margin guide with the other visual guides, and it's not possible to show one without the other. In Vim, you can show the hard wrap margin by adding "+0" to 'colorcolumn', so in IdeaVim, we automatically add this.
2024-05-10 15:27:24 +03:00
Matt Ellis
c6efea8c34
Add 'textwidth' option
...
Also supports overriding local-to-buffer options with IDE values, ensuring that changes to the option/IDE value are applied to all editors for the buffer.
Fixes VIM-1310
2024-05-10 15:27:24 +03:00
Matt Ellis
80f43a7c66
Add 'cursorline' option
2024-05-10 15:27:24 +03:00
Matt Ellis
9f5d3a9a28
Add 'list' option to show whitespace
...
Fixes VIM-267
2024-05-10 15:27:24 +03:00
Matt Ellis
8800a4f70b
Add 'breakindent' option
...
Fixes VIM-2748
2024-05-10 15:27:24 +03:00
Matt Ellis
990254dcac
Sort ideavim.dic to make it easier to modify
2024-05-10 15:27:24 +03:00
Matt Ellis
73a1118e78
Extract base implementation for IDE backed options
2024-05-10 15:27:24 +03:00
Matt Ellis
d3bedf26cf
Treat IDE value as default for 'wrap' option
2024-05-10 15:27:24 +03:00
Matt Ellis
25b29f429a
Track how option value is set
2024-05-10 15:27:24 +03:00
Matt Ellis
363f821962
Introduce 'wrap' option based on IntelliJ setting
...
Fixes VIM-1265
2024-05-10 15:27:24 +03:00
4c3ad3f263
Add NERDTree action to toggle excluded files
2024-05-08 10:02:10 +03:00
Alex Plate
9d0b68b0f8
Use the correct context after executing the ex command
...
With the incorrect context the action EditorSelectWord didn't make any effect because it worked on the ex-entry panel editor
2024-04-26 18:22:53 +03:00
Alex Plate
b66da76880
VIM-3376: Remove usages of the EditorDataContext
...
EditorDataContext cannot be used because the platform cannot convert it to the async data context. Taking the fact that it's not clear why this custom context exists, I decided to get rid of it at all.
```
Cannot convert to AsyncDataContext at 'keyboard shortcut' DataContextWrapper(CaretSpecificDataContext(com.maddyhome.idea.vim.helper.EditorDataContext)). Please use CustomizedDataContext or its inheritors like SimpleDataContext
```
Class EditorDataContext cannot be removed because it's used in github.zgqq.intellij-enhance plugin
2024-04-26 14:52:47 +03:00
Alex Plate
54d6119784
VIM-3376: Working on removing EditorDataContext. Remove it from ReplaceWithRegister
...
EditorDataContext cannot be used because the platform cannot convert it to the async data context. Taking the fact that it's not clear why this custom context exists, I decided to get rid of it at all.
```
Cannot convert to AsyncDataContext at 'keyboard shortcut' DataContextWrapper(CaretSpecificDataContext(com.maddyhome.idea.vim.helper.EditorDataContext)). Please use CustomizedDataContext or its inheritors like SimpleDataContext
```
2024-04-26 14:19:47 +03:00
Alex Plate
0b8c081425
VIM-3376: Working on removing EditorDataContext. Remove it from multiple places
...
EditorDataContext cannot be used because the platform cannot convert it to the async data context. Taking the fact that it's not clear why this custom context exists, I decided to get rid of it at all.
```
Cannot convert to AsyncDataContext at 'keyboard shortcut' DataContextWrapper(CaretSpecificDataContext(com.maddyhome.idea.vim.helper.EditorDataContext)). Please use CustomizedDataContext or its inheritors like SimpleDataContext
```
2024-04-26 14:16:52 +03:00
Alex Plate
209052ffa6
Create a function to get the execution context from the editor
...
This is a part of VIM-3376. This context will not be a custom EditorDataContext, but some context created by the platform.
In some places we don't have any kind of "current context", but we have to use it for the function. However, such context can be simply retrieved from the editor.
2024-04-26 14:03:37 +03:00
Alex Plate
fe9a6b5cfb
Remove context argument when creating a pad for the string
...
It's unclear why it was needed to get the project from the context, but it's easy to get the project from the existing editor
2024-04-26 13:56:10 +03:00
Alex Plate
9c0f74369f
VIM-3376: Working on removing EditorDataContext. Remove from ExEditorKit
...
This one was added after the implementation of cmap in 5c9faba7f4
EditorDataContext cannot be used because the platform cannot convert it to the async data context. Taking the fact that it's not clear why this custom context exists, I decided to get rid of it at all.
```
Cannot convert to AsyncDataContext at 'keyboard shortcut' DataContextWrapper(CaretSpecificDataContext(com.maddyhome.idea.vim.helper.EditorDataContext)). Please use CustomizedDataContext or its inheritors like SimpleDataContext
```
2024-04-26 13:49:59 +03:00
Alex Plate
cd27e5229b
VIM-3376: Working on removing EditorDataContext. Remove from CommandLineHelper
...
EditorDataContext cannot be used because the platform cannot convert it to the async data context. Taking the fact that it's not clear why this custom context exists, I decided to get rid of it at all.
```
Cannot convert to AsyncDataContext at 'keyboard shortcut' DataContextWrapper(CaretSpecificDataContext(com.maddyhome.idea.vim.helper.EditorDataContext)). Please use CustomizedDataContext or its inheritors like SimpleDataContext
```
2024-04-26 13:40:18 +03:00
Alex Plate
472732905c
VIM-3376: Get rid of IjCaretAndEditorExecutionContext
...
This context was added long ago, but I wasn't able to find specific reasons for that. Currently, such custom contexts cannot work with the intellij platform and should be refactored or removed. The issues with this context are that it cannot be converted to the async data context by the platform.
Taking the fact that the reason for this context was not found, I decided to get rid of it.
The issue from the platform looks like this
```
Cannot convert to AsyncDataContext at 'keyboard shortcut' DataContextWrapper(CaretSpecificDataContext(com.maddyhome.idea.vim.helper.EditorDataContext)). Please use CustomizedDataContext or its inheritors like SimpleDataContext
```
Here the EditorDataContext is mentioned instead of CaretAndEditorData context, however, I'll clean up both contexts during this refactoring
It was used in the action system for mapping to the `<Action>` keyword and in commit 256f5fcd0e
it's mentioned that the EditorActionHandler was not working without this context. However, currently both cases work fine without addition wrapping.
2024-04-26 13:27:56 +03:00
Alex Plate
485d9f81cd
VIM-3376: Use SimpleDataContext in tests
2024-04-26 12:25:56 +03:00
Alex Plate
8cf136ce4c
Add toString representations for IjNativeAction and ActionEnableStatus
2024-04-26 10:22:50 +03:00
Alex Plate
116a8ac9d2
Reformat test code
2024-04-26 09:58:27 +03:00
Alex Plate
c4d92ebe73
VIM-308 In intellij 2024.1+ the caret movement won't be detected as a separate undo action
2024-04-05 17:50:42 +03:00
Alex Plate
dc2ce64823
Revert changes in action processing to fix VIM-3351
2024-04-02 11:52:56 +03:00
Alex Plate
d0d86d9178
Print the exceptin in logger.warn instead of just a message
2024-03-29 16:53:22 +02:00
Alex Plate
f417af6148
Specify ActionUpdateThread for FindActionIdAction
2024-03-29 15:38:05 +02:00
Alex Plate
2fe2860a09
Remove Offset and Pointer and switch to the regular Ints
...
Details on that can be found here: VIM-3368
2024-03-29 15:38:05 +02:00
Filipp Vakhitov
7652b16ca6
Move more MotionGroup methods to its base class
2024-03-29 14:52:52 +02:00
Filipp Vakhitov
618a010c15
Move some MotionGroup methods to its base class
2024-03-29 14:52:52 +02:00
Filipp Vakhitov
d44a34ed9b
Remove unnecessary abstract method
2024-03-29 14:52:52 +02:00
Filipp Vakhitov
c84fc996db
Move some methods to vim-engine
...
The more methods we have in the engine, the fewer number of methods we will need to implement in the Fleet
2024-03-29 14:52:52 +02:00
Filipp Vakhitov
43f232543b
Replace findBlockRange with newer implementation
...
The newer implementation is a part of the vim-engine library and uses new methods from the SearchGroup.kt, but it is not fully refactored yet
2024-03-29 14:52:52 +02:00
filipp
3f65d1d99a
Revert "Revert changes to SearchGroup"
...
This reverts commit 00ccddf8cf
.
2024-03-29 14:52:52 +02:00
Alex Plate
8c1103c461
Add comment about the fix for project leak in tests
2024-03-28 10:30:19 +02:00
Alex Plate
ab75ace8db
Fix(VIM-3331): Support custom registers in replaceWithRegister plugin
2024-03-25 09:40:45 +02:00
Alex Plate
4a58e6a282
Add test with custom register for textObjEntire extension
2024-03-25 09:34:58 +02:00
Alex Plate
58a8b96c3c
Revert "Stop IdeaVim actions flowing into JB Client"
...
This reverts commit bd192561ae
.
This commit reverts the fix for VIM-3283 because it causes VIM-3346 and VIM-3347
2024-03-20 13:08:04 +02:00
Alex Plate
a9ddfac782
Add test that shows an issue when deleting a line at the end of file
2024-03-12 21:21:15 +02:00
Alex Plate
79437df894
Fix(VIM-3330): Use Z
backward visual search in sneak plugin
2024-03-12 20:01:35 +02:00
Alex Plate
4bad129caf
Do not register clipboard option change listener for caret registers
...
Register groups for the caret do not use some fields from the base class, however the listener for these fiels is still registered. Now we don't register this listener.
Generally it looks like a bigger refactoring can be performed in order to separate the common registers logic from caret registers logic.
This change should improve the performance of the IjVimCaret initialization because now we won't register a new disposable on each instance of IjVimCaret
This is a part of VIM-3336
2024-03-11 17:41:54 +02:00
filipp
00ccddf8cf
Revert changes to SearchGroup
...
Wrong branch. The changes should be merged to master only after review in the Fleet branch
2024-03-03 22:16:19 +02:00
filipp
00cbf188fb
Replace findUnmatchedBlock method with a new implementation
2024-03-03 22:05:28 +02:00
filipp
988ea74461
Fix(VIM-3294): %-movement mismatches braces
2024-03-03 22:05:28 +02:00
filipp
5959e9aaa1
Fix(VIM-1399): Uncommented brackets are matched to commented ones in VIM mode
2024-03-03 22:05:28 +02:00
filipp
434df565ae
Migrate % command to work with newer method in SearchGroup.kt
2024-03-03 22:05:28 +02:00
filipp
c8f36504d8
Fix tests for %
2024-03-03 22:05:28 +02:00
filipp
d744987ac8
Add VimPsiService
...
We want to avoid unnecessary OOP and use interfaces only for cases where we will have different implementations for different IDEs
This service will help us in our future refactorings of SearchGroup and SearchHelper
2024-03-03 22:03:58 +02:00
Filipp Vakhitov
9a324ab448
Reset KeyHandlerState when switching Editors
...
Now we have a single state for all the editors, so we should not mix their states
2024-02-29 20:27:46 +02:00
Alex Plate
90f2d2ff29
Small update of the minimal version of IJ
2024-02-27 14:43:23 +02:00
Alex Plate
4c2edab406
Run optimize imports
2024-02-27 13:17:02 +02:00
Filipp Vakhitov
a94a8b8539
Fix tests
2024-02-24 01:03:18 +02:00
Filipp Vakhitov
261230b23a
Remove experimental showmodewidget
option
2024-02-24 00:36:36 +02:00
Filipp Vakhitov
b90317e00e
More visible text color for mode widget
...
Visibility may be unexpected for custom themes with non-obvious colors
2024-02-24 00:27:48 +02:00
Filipp Vakhitov
21c9dc8785
Add statistic collector for mode widget
2024-02-24 00:15:01 +02:00
Alex Plate
31bbc60325
Fix all reports of the inspection that prohibits the use of companion objects
...
This is a requirement from the platform, as a huge amount of companion objects leads to a higher level of classloading
2024-02-23 18:55:01 +02:00
Alex Plate
fec6e5c189
Remove the last argument in EventLogGroup as the compatibility was fixed on the platform side
2024-02-23 18:35:21 +02:00
Alex Plate
23c1493f17
Fix(VIM-3306): Vim paragraph motion won't make mappings if there is already such mapping defined by user
2024-02-23 18:26:50 +02:00
filipp
3c94091d30
Merge branch 'refs/heads/master' into fleet
2024-02-23 17:24:08 +02:00
filipp
b737362aba
Update CaretVisualAttributesListener to use new Editor API
2024-02-23 17:21:18 +02:00
Parker7123
db722fc4e5
VIM-1472 Add support for sorting with pattern
2024-02-23 17:15:21 +02:00
filipp
7d679e68dc
Merge branch 'refs/heads/master' into fleet
...
# Conflicts:
# vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/VimEditorGroup.kt
# vim-engine/src/main/kotlin/com/maddyhome/idea/vim/impl/state/VimStateMachineImpl.kt
2024-02-23 17:08:01 +02:00
Matt Ellis
bc808403fb
Rename localEditors to getEditors
...
The fact that these methods only return local editors (i.e., editors for the local user while hosting a Code With Me session) is an implementation detail
2024-02-23 17:01:32 +02:00
Matt Ellis
cf29c50f31
Ensure editors are initialised before use
...
Fixes VIM-3256
2024-02-23 17:01:32 +02:00
Matt Ellis
bd192561ae
Stop IdeaVim actions flowing into JB Client
...
IdeaVim actions are local only - they control local behaviour and should not be visible in the Client
Fixes VIM-3283
2024-02-23 15:54:20 +02:00
Matt Ellis
66ff56a05e
Move document listeners to global listeners
...
This means we listen to changes in all documents, rather than just the changes in the documents for open local editors. And this means that we correctly update e.g. marks when a non-local editor changes a file that isn't open in a local editor.
2024-02-23 15:54:20 +02:00
Matt Ellis
def86d179e
Review disabled editor checks
2024-02-23 15:54:20 +02:00
Matt Ellis
3c9a343f8b
Review listeners to only work with local editors
...
Reviews all IntelliJ listeners to ensure that they only work with supported local editors. Editor creation was initialising IdeaVim for all editors, which meant that behaviour could leak into Code With Me guest editors. E.g. guest editors incorrectly drawing relative line numbers, or the host using the guest's last selected tab when switching to an alternate file.
This leads to a change in behaviour with some local editors. The editor creation listener will now check to see if the editor is local *and supported*. This means it can exclude single line editors, editors in database cells or dialogs, depending on the state of 'ideavimsupport' at creation time. The behaviour at creation time is now more correct, but if 'ideavimsupport' is modified, existing matching editors will not be initialised.
Fixes VIM-3274, fixes VIM-3275
2024-02-23 15:54:20 +02:00
Matt Ellis
10b6b05fab
Clear disposable after disposing
2024-02-23 15:54:20 +02:00
Matt Ellis
caa4ef736a
Rename method for clarity
2024-02-23 15:54:20 +02:00
Matt Ellis
23702345a9
Fix comments
2024-02-23 15:54:20 +02:00
Matt Ellis
ba89babd10
Move listener to app level
...
Fixes VIM-2167
2024-02-23 15:54:20 +02:00
Matt Ellis
2ce3fbd677
Use common APIs to get local editors
2024-02-23 15:54:20 +02:00
Matt Ellis
d8de73a06d
Use correct APIs to get local only editors
...
Always ignores non-local, hidden editors opened by remote guests in Code With Me sessions.
Fixes VIM-3268
2024-02-23 15:54:20 +02:00
Alex Plate
247aaed188
Use the property to change the state of the octopus handler
2024-02-23 15:32:35 +02:00
Filipp Vakhitov
7523db186f
Empty status bar message after each test
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
db35c979b4
Move some editor methods to the base class
2024-02-23 15:09:45 +02:00
filipp
d3704d602f
Cleanup after moving logic to other classes
2024-02-23 15:09:45 +02:00
filipp
23fdadc32e
Fix test
...
Sometimes it's not a plugin error and may indicate that key is propagated for later handling by IDE
But what we know for sure - that for both cases we should reset command builder
2024-02-23 15:09:45 +02:00
filipp
19fa00837c
Use KeyProcessResultBuilder
...
It will help us to build the KeyProcessResult that we need for asynchronous key processing
2024-02-23 15:09:45 +02:00
filipp
15ae069f6f
Make keyHandlerState argument not null
...
Applying default values may lead to unexpected results, especially if we sometimes want to use the global state (IJ), and at other times, its clone for asynchronous processing (Fleet).
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
02540eb303
Pass KeyHandlerState as a method argument
2024-02-23 15:09:45 +02:00
filipp
7966a6dc91
Create KeyHandlerState
...
We do not need multiple commandBuilder, digraphSequence or mappingState and this class will be a singleton containing them
2024-02-23 15:09:45 +02:00
filipp
5fc2f04224
Remove mappingMode from MappingState
...
It unnecessarily binds mappingState to mode and thus to editor. And we want to simplify things and have a single MappingState instead of multiple of them
2024-02-23 15:09:45 +02:00
filipp
6edfd8ed22
Remove deprecated showmode status bar text update that does not work with the new UI and will be replaced with widget
2024-02-23 15:09:45 +02:00
filipp
363db05db7
Macro recording state is no longer per editor
...
It will not only simplify VimStateMachine, but also help us to support multi-editor macros in future
2024-02-23 15:09:45 +02:00
filipp
3738012dd6
Listeners refactoring
...
1. Listeners now disposed after turning plugin off
2. Change widget listeners to be recreated on plugin toggle
3. Add CaretVisualAttributesListener
2024-02-23 15:09:45 +02:00
filipp
355cfe035d
Remove Editor from VimStateMachine
...
Rationale:
1. A much more experienced developer, whom I highly respect, suggested to empty VimStateMachineImpl constructor in his TODO comment.
2. I aim for VimStateMachine to be a data class rather than being a container for both data and complex logic.
3. From an architectural perspective, it is more correct. Editors do have state (or they may possess a single global state if the corresponding option is set), but a state does not own an editor.
2024-02-23 15:09:44 +02:00
Alex Plate
46f4fa7cdd
Make tests about join notification more stable
...
Now we track only new notifications instead of just taking the last one
2024-02-23 11:27:15 +02:00
Alex Plate
f696135f31
Now we execute beforeActionPerformedUpdate
instead of lastUpdateAndCheckDumb
right before action execution
...
This is done because of platform changes. Now the `lastUpdateAndCheckDumb` doesn't update an action that supposed to be updated on background.
The problem was detected with commentary tests. The test supposed to use the line comment in case the block comment is not available. However, the since the action was not updated, the presentation was not reset to false and the fallback to line action was not performed.
2024-02-23 11:26:45 +02:00
Alex Plate
52e0fcdc7d
Use the custom version of IntIterator.skip because it was removed from the library
2024-02-23 10:29:33 +02:00
6dd924b2b2
Implement motions to go to next/previous misspelled word
2024-02-23 10:17:25 +02:00
Matt Ellis
f439474b73
Fix set command tests
...
Also hides more feature flags and diagnostic settings from users and unit tests. Shows them when in internal mode.
2024-02-23 10:04:23 +02:00
Matt Ellis
d6cd92e256
Migrate extensions to use operatorfunc option
2024-02-23 10:04:23 +02:00
Matt Ellis
3a294268d9
Introduce operatorfunc option
...
Allows creating custom operators in script, as shown in JetBrains/ideavim#702
2024-02-23 10:04:23 +02:00
Alex Plate
0df96a24bd
Add a missing @BeforeEach in tests
2024-02-22 09:19:24 +02:00
Alex Plate
d3d93b898f
Unregister NotificationService project service
...
It's not registered as a light service and doesn't need to be registered in xml files
2024-02-20 16:46:07 +02:00
f4782630d4
Add Matchit support for Java statements
2024-02-20 16:41:34 +02:00
Alex Plate
73c3c9f7fe
Replace Enum.values() with Enum.entries, as suggested since 1.9
2024-02-20 16:12:34 +02:00
Alex Plate
67ef0a75d5
Update capitalization
2024-02-20 16:12:11 +02:00
Alex Plate
328bc5e95a
Convert some services to light services
2024-02-20 16:10:07 +02:00
Alex Plate
7a52c6fec9
Cleanup tests
2024-02-20 14:51:13 +02:00
Alex Plate
e82f19c852
Add test for checking an issue that
...
was caught by property tests
2024-02-20 13:52:17 +02:00
Alex Plate
fc61e369fb
Fix some deprecated calls
2024-02-20 13:11:10 +02:00
Alex Plate
0cc17a0791
Make a correct service level for VimProjectService
2024-02-20 12:12:50 +02:00
Alex Plate
1bd005adc1
Fix the name of the compatibility function
2024-02-20 10:39:34 +02:00
Alex Plate
cf09d66be6
Prototype for vimscript inspection
2024-02-20 06:13:26 +02:00
Alex Plate
76cd127a8a
Bring back function to fix compatibility
2024-02-20 05:25:22 +02:00
Alex Plate
f6dd2a9968
Do not call for setCaretVisible
in tests as this causes project leak
2024-02-20 05:20:05 +02:00
Alex Plate
86bf8dcc60
Fix the compatibility with platform
2024-02-17 08:56:17 +02:00
Alex Plate
d37898b6d3
Fix(VIM-3234): The space character won't mix in the tab chars after >> and << commands
...
Because of some reason, the visual position function from the platform starts to return an incorrect column for offsets with tabs. Maybe this is a correct behaviour for the platform, but for IdeaVim it breaks the calculation of the current caret position.
The visual position for calculating the shift was used since 2003, but there is no specific reason to use it and not the buffer (logical) position. So, since it started to cause issues, it's replaced with the buffer position.
2024-02-17 08:54:42 +02:00
Alex Plate
1edd6a9002
Fix the compatibility with the new version of the platform
2024-02-17 08:15:11 +02:00
Alex Plate
4f0a95a803
Bring back setCompletionPhase as this incompatibility was fixed in the latest EAP of the IntelliJ platform
2024-02-17 08:15:11 +02:00
Alex Plate
6fa228ee08
Fix(VIM-3291): Remove sync of editor selection between different opened editors
...
This is an old feature implemented by Rick Maddy in 2004, taken from Vim.
c294063223
If several buffers for the same file are opened, the selection is synchronized between buffers.
This doesn't happen in IJ natively and I don't see a reason to keep it like that.
This behaviour is removed because it causes issues now, but if we'll figure out the usage, we can bring it back.
2024-02-15 20:34:57 +02:00
Alex Plate
12d0d2613f
Allow sneak plugin to be registered with the original mappings from the sneak plugin
2024-02-13 19:20:41 +02:00
f69630b668
VIM-3238 Fix recording a macro that replays another macro
2024-02-10 20:05:47 +02:00
Alex Plate
6ea0ab0968
Print if neovim testing is enabled or not
2024-02-08 15:22:54 +02:00
Alex Plate
cc838f614f
Remove the testWithNeovim
task
...
Now you can just run `gradlew test -Dnvim`
2024-02-08 14:53:43 +02:00
Alex Plate
ae62a9f378
Fix the incorrect test
2024-02-08 14:35:52 +02:00
Alex Plate
27a689e7b8
Extract UI tests into the separate module
2024-02-08 14:21:09 +02:00
Alex Plate
3244dd52eb
The line with compilation error is disabled
...
In 2024.1 EAP this line causes compilation error due to platform conversion from java to kotlin
The fix is landed in the platform and it should work fine with the new EAP.
However, since our tests are fail now, I'll comment out this line and bring it back in one week.
2024-02-08 09:39:54 +02:00
Alex Plate
4c6807a0c2
Extract long running tests into a separate module
2024-02-08 09:28:26 +02:00
Alex Plate
82f69456e9
Exclude propery tests into a separate project
2024-02-08 09:14:52 +02:00
Alex Plate
63c81d67f2
Extract java tests for IdeaVim to a separate gradle subproject
2024-02-07 16:04:10 +02:00
Alex Plate
ad8ba1dd24
Move @VimBehaviourDiffers into a correct package of testFixtures
2024-02-07 10:07:16 +02:00
Alex Plate
04f821e3e1
Create a testFixtures for the project
...
This will be needed for extracting the java tests into a separate subproject
Also, cleaned up the ordering of dependencies in build.gradle.kts
2024-02-07 10:05:56 +02:00
Alex Plate
549163d274
Comment out everything for pycharm tests because it fails on GitHub
2024-02-06 10:32:58 +02:00
Filipp Vakhitov
2a1c4b3a1c
Better widget order
2024-02-06 00:32:25 +02:00
Alex Plate
aae0d825e7
Move the ideavim-sneak plugin into IdeaVim
...
The author of the original plugin announced the deprecation of the plugin.
However, we've got an approval to move the sources into IdeaVim and continue the development.
Original repo: https://github.com/Mishkun/ideavim-sneak
Approval: https://twitter.com/ideavim/status/1754512214344478939
2024-02-05 19:28:36 +02:00
Filipp Vakhitov
7062d9b8f8
Enable new regex engine by default
2024-02-05 16:29:49 +02:00
Filipp Vakhitov
ede62f5c75
Fix compilation
2024-02-05 16:29:49 +02:00
Filipp Vakhitov
6386770ff3
Move more tests to src
2024-02-05 16:29:49 +02:00
filipp
9bea5bf5f7
Remove deprecated code
2024-02-05 16:29:49 +02:00
filipp
9fbc990493
Fix visual matching
2024-02-05 16:29:49 +02:00
filipp
b05fdaaa73
Fix tests
2024-02-05 16:29:49 +02:00
filipp
807457c718
Hide method and add Deprecated annotation
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
022b196d6a
adding comments and small refactors
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
bf7d2bd465
marking classes as deprecated
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
fc7c470966
fixing nohlsearch command
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
51492ca121
moving seach methods back to VimSearchGroup base
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
ce1df84330
creating new IjVimSearchGroup class
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
9b43e2a715
working on kotlin implementation of SearchGroup class
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
732cabd6aa
working on processSearchCommand
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
7c14801d5c
deprecating most of SearchHelper
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
66df09c065
use injector for IjVimSearchHelper calls
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
8fd6985316
deprecating SearchHelper find and findAll
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
feac001499
substitute command working with new engine
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
4c47e3a8eb
integrating new regex into global command
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
f4e743acc5
VimRegex uses wrapscan option
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
06d58cbda5
integrating options into the main module
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
ba9afc3f8e
adding usenewregex option to set command tests
...
rebasing
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
39897bd012
allow findAll to have a max index
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
575d563154
show pattern not found error message
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
b49a185efc
using the count parameter in find()
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
6025eaaca9
showing pattern not found error
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
b2441c3cca
throwing and catching VimRegexException
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
58398f40fa
using useNewRegex option
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
43f5d5a8e8
integrating findAll
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
9859974db7
integrating findNext and findPrevious
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
6c24ddd1a0
adding useNewEngine option
2024-02-05 16:29:49 +02:00
Alex Plate
8de0313aca
Preparing the UI tests for the PyCharm
2024-02-02 20:16:47 +02:00
Alex Plate
143c5b17f9
Fix(VIM-3055): Fix the issue with double deleting after dot
2024-02-02 19:30:58 +02:00
Filipp Vakhitov
11761b66b2
Revert "Fix(VIM-3183): Execute .ideavimrc on pooled thread"
...
This reverts commit 1d7796805c
.
2024-01-31 20:10:32 +02:00
Filipp Vakhitov
f83f107bd1
Revert "Support triggering option listeners outside EDT"
...
This reverts commit 5a6f54c96c
.
2024-01-31 20:10:18 +02:00
Filipp Vakhitov
f1b90857ff
Revert "Fix code in execute requiring EDT or write actions"
...
This reverts commit e7236beedd
.
2024-01-31 20:10:15 +02:00
Filipp Vakhitov
5aea4cdd65
Revert "Avoiding slow operations on EDT"
...
This reverts commit 00fb5bc6cf
.
2024-01-31 20:09:55 +02:00
Filipp Vakhitov
1822a59c70
Revert "Fix(VIM-3273): Config file stopped working"
...
This reverts commit 04230fdd9c
.
2024-01-31 20:09:31 +02:00
Filipp Vakhitov
90c7f747a4
Revert "Fix(VIM-3278) Relative number is broken in 2.8.0"
...
This reverts commit a1646a7a88
.
2024-01-31 20:09:23 +02:00
Filipp Vakhitov
b7efa3dcd6
Revert "Add EDT where it is needed"
...
This reverts commit 3e9706e6ce
.
2024-01-31 20:09:19 +02:00
Filipp Vakhitov
da80f537ac
Revert "Avoid concurrent VimScript execution"
...
This reverts commit 0e03151505
.
2024-01-31 20:09:15 +02:00
Filipp Vakhitov
0119912318
Revert "Add readActions & EDT"
...
This reverts commit 45a2eadc58
.
2024-01-31 20:09:08 +02:00
Alex Plate
880efb012a
Fix compilation issues for the latest EAP
2024-01-31 17:58:19 +02:00
Alex Plate
b95308ac24
Migrate CopilotKeymapCorrector to the new API
2024-01-31 17:42:08 +02:00
Alex Plate
56410ac1f2
Make some classes public because they're used in EasyMotion plugin tests
2024-01-31 15:25:33 +02:00
Filipp Vakhitov
45a2eadc58
Add readActions & EDT
2024-01-31 14:43:23 +02:00
Filipp Vakhitov
0e03151505
Avoid concurrent VimScript execution
2024-01-31 14:42:58 +02:00
Filipp Vakhitov
3e9706e6ce
Add EDT where it is needed
2024-01-31 14:09:06 +02:00
Filipp Vakhitov
a1646a7a88
Fix(VIM-3278) Relative number is broken in 2.8.0
...
Proper options initialization order
2024-01-31 13:34:33 +02:00
Filipp Vakhitov
04230fdd9c
Fix(VIM-3273): Config file stopped working
2024-01-31 09:12:23 +02:00
Filipp Vakhitov
24e044bcda
Remove deprecated ComplicatedKeysAction.kt
2024-01-30 18:56:38 +02:00
Filipp Vakhitov
00fb5bc6cf
Avoiding slow operations on EDT
2024-01-29 13:30:41 +02:00
Filipp Vakhitov
5e01f726d3
Revert "Remove deprecated VimScriptGlobalEnvironment.java"
...
This reverts commit 5c64ebf1cc
.
2024-01-29 12:58:46 +02:00
Filipp Vakhitov
e7236beedd
Fix code in execute requiring EDT or write actions
2024-01-29 10:00:55 +02:00
Filipp Vakhitov
5a6f54c96c
Support triggering option listeners outside EDT
2024-01-28 14:00:36 +02:00
filipp
7769985439
Merge remote-tracking branch 'origin/master'
2024-01-28 13:37:58 +02:00
Alex Plate
cc1b9e0a50
Expand all works a way worse
2024-01-27 07:43:28 +02:00
Alex Plate
2c58740cbb
Expand the full tree in UI tests
2024-01-26 21:49:49 +02:00
Alex Plate
808533b110
Fix(VIM-3260): Processing the offsets at the file end
2024-01-26 17:49:44 +02:00
Alex Plate
26d4074a61
[VIM-2974] Adopt other parts of key handling to the octopus handler switcher
2024-01-26 16:40:34 +02:00
filipp
0137de5ca2
Add Term widget theme
2024-01-26 15:52:07 +02:00
Alex Plate
355c560ddc
Add UI test with disabled octopus handler
2024-01-26 15:32:30 +02:00
Alex Plate
72f286d9c6
Add UI test for multicaret enter in select mode
2024-01-26 15:32:30 +02:00
Alex Plate
db6786414a
[VIM-2974] WIP: Bringing back the octopus handler switch
2024-01-26 15:32:29 +02:00
filipp
f8f046f193
Fix plugin.xml
2024-01-26 14:00:07 +02:00
filipp
6c9ad4ded2
Remove deprecated xml-related code
2024-01-26 13:45:46 +02:00
filipp
32cae8ca11
Remove more deprecated things
2024-01-26 13:05:48 +02:00
filipp
0cb65279d9
Remove deprecated mark-related methods
2024-01-26 13:02:23 +02:00
filipp
247f8a2778
Remove deprecated OptionsManager.kt
2024-01-26 12:45:46 +02:00
filipp
017c9a6a70
Remove deprecated OptionService.kt
2024-01-26 12:43:06 +02:00
filipp
eccb2430b5
Remove deprecated MarkGroup.java
2024-01-26 12:39:30 +02:00
filipp
5c64ebf1cc
Remove deprecated VimScriptGlobalEnvironment.java
2024-01-26 12:38:28 +02:00
filipp
1d7796805c
Fix(VIM-3183): Execute .ideavimrc on pooled thread
2024-01-26 12:27:03 +02:00
Filipp Vakhitov
fb75508258
Support widget themes
2024-01-23 23:59:57 +02:00
Filipp Vakhitov
0e69168382
Make the Apply button disabled by default
2024-01-23 18:54:47 +02:00
Filipp Vakhitov
9970ab8643
Allow to open only one widget settings window at a time
2024-01-23 18:53:41 +02:00
Filipp Vakhitov
7ff82010c3
Rename "Foreground:" field to "Text:" in mode widget settings
2024-01-23 16:47:21 +02:00
Filipp Vakhitov
1da8cd53d2
VIM-1377 Normal mode needs to be more obvious
...
Save mode widget colors state in XML
2024-01-23 01:27:57 +02:00
Filipp Vakhitov
9337a89eac
VIM-1377 Normal mode needs to be more obvious
...
Redraw widget after applying new colors
2024-01-23 01:27:57 +02:00
Filipp Vakhitov
510564dd91
VIM-1377 Normal mode needs to be more obvious
...
Do not show widget with no files opened
2024-01-23 01:27:57 +02:00
Filipp Vakhitov
a9ededc997
VIM-1377 Normal mode needs to be more obvious
...
Add color customization to mode widget
2024-01-23 01:27:57 +02:00
Alex Plate
722cffbd48
[RIDER-85968] Do not format inserted code for CLion Nova
...
CLion Nova gets the same problem with formatting as Rider has
2024-01-22 10:20:07 +04:00
Alex Plate
a787befd72
Add special esc processor for CLion Nova
...
CLion Nova has a similar architecture like Rider. So, it got the same problem like Rider has with the esc after adding the octopus handler.
2024-01-22 09:51:31 +04:00
filipp
280e1ec16d
Fix updating widget for cases when statusbar is not initialized
2024-01-17 11:15:54 +02:00
Filipp Vakhitov
52cf10cb2e
Better widget
2024-01-13 23:01:01 +02:00
Alex Plate
df72b24ad2
Wait smart mode before starting to create files
2024-01-09 17:34:03 +02:00
Alex Plate
26bdd15400
Do not try to turn off IdeaVim dialog as we don't show it anymore in UI tests
2024-01-08 18:52:09 +02:00
Alex Plate
e13310b4e0
Get rid of typing the action name
2024-01-08 18:51:30 +02:00
Alex Plate
e9d4218705
Try another way to search for the action
2024-01-08 17:13:31 +02:00
Alex Plate
56b80e4e60
Fix UI test with action search
2024-01-08 15:23:12 +02:00
Alex Plate
679f6471e6
Wait longer for the track action id action
2024-01-05 20:16:13 +02:00
Alex Plate
5cca484a82
Do not use sample code for this case
2024-01-05 19:51:18 +02:00
Alex Plate
59768c16e2
Wait for track action id test to appear in search results
2024-01-05 19:36:03 +02:00
Alex Plate
ee94396afa
Double escape to exit multicaret is required
2024-01-05 18:53:22 +02:00
Alex Plate
f01cc4d0d0
Add UI test for enter in insert and select modes
2024-01-05 18:31:02 +02:00
Alex Plate
4c0f17429b
Get rid of function and clean up UI test
2024-01-05 18:15:16 +02:00
Alex Plate
6a2ae1c572
Increase the expand timeout for the tree. For some reason it doesn't open quickly during tests on GH
2024-01-05 18:10:53 +02:00
Alex Plate
a2681ce6cc
Add UI test for multicaret enter
...
For ticket VIM-3186
2024-01-05 18:01:23 +02:00
Alex Plate
28c0c3207a
Add UI test for mappings on A-Enter and C-Enter
...
For ticket VIM-3190
2024-01-05 17:40:40 +02:00
Alex Plate
ecfa0e2b49
Fix incorrect reference for the test
2024-01-05 17:24:20 +02:00
Alex Plate
7e4b4c973c
Add UI tests for adding new line above and below via action in normal mode
...
For ticket VIM-3190
2024-01-05 17:05:07 +02:00
Alex Plate
208a78c748
Get rid of testing error
2024-01-05 16:34:24 +02:00
Alex Plate
027249c575
Incorrect import was used for video
2024-01-05 16:15:00 +02:00
Alex Plate
5ceb960205
Use junit 5 version of video-recorder
2024-01-05 15:56:07 +02:00
Alex Plate
1cea156c5a
Try to update the ffmpeg downloader
2024-01-05 15:41:53 +02:00
Matt Ellis
3ad0519add
Extract initialisation strategies to new class
2024-01-04 15:58:36 +02:00
Matt Ellis
95a2354a86
Fix issue where global value wasn't properly set
2024-01-04 15:58:36 +02:00