Filipp Vakhitov
ab7359ffd3
Fix options test for Windows
...
Thanks @citizenmatt for this patch
2024-05-29 18:48:05 +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
Filipp Vakhitov
3843a193cb
Deprecate classes related to Swing TextActions
2024-05-26 23:56:27 +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
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
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
Filipp Vakhitov and Alex Pláte
423ed390a2
Fix(FL-25087): p in vim mode
...
Pasting was broken with immutable carets because the old caret was not updated during execution
2024-03-29 14:52:52 +02:00
Filipp Vakhitov and Alex Pláte
7652b16ca6
Move more MotionGroup methods to its base class
2024-03-29 14:52:52 +02:00
Filipp Vakhitov and Alex Pláte
618a010c15
Move some MotionGroup methods to its base class
2024-03-29 14:52:52 +02:00
Filipp Vakhitov and Alex Pláte
d44a34ed9b
Remove unnecessary abstract method
2024-03-29 14:52:52 +02:00
Filipp Vakhitov and Alex Pláte
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 and Alex Pláte
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 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
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
Filipp Vakhitov and filipp
1a4333fa1b
Move implementations to upper level
...
It will simplify support of immutable editors in Fleet
2024-02-23 15:09:45 +02:00
Filipp Vakhitov and filipp
8eaa6df318
Throw error instead of warning on state conflict
...
It may indicate some serious issues, and we would like to know if anything goes wrong
2024-02-23 15:09:45 +02:00
Filipp Vakhitov and filipp
7523db186f
Empty status bar message after each test
2024-02-23 15:09:45 +02:00
Filipp Vakhitov and filipp
38bc914504
Avoid using annotation-processors in vim-engine
2024-02-23 15:09:45 +02:00
Filipp Vakhitov and filipp
c8113eea83
Commit state after receiving unknown key
2024-02-23 15:09:45 +02:00
Filipp Vakhitov and filipp
924b7418e8
Fix DigraphSequence cloning
2024-02-23 15:09:45 +02:00
Filipp Vakhitov and filipp
a7dfef61e9
Make LazyVimCommand open
2024-02-23 15:09:45 +02:00
Filipp Vakhitov and filipp
db35c979b4
Move some editor methods to the base class
2024-02-23 15:09:45 +02:00
Filipp Vakhitov and filipp
2de933c723
Make processKey public
2024-02-23 15:09:45 +02:00
Filipp Vakhitov and filipp
00f5541dc6
Add KeyProcessResult interface
2024-02-23 15:09:45 +02:00
Filipp Vakhitov and filipp
02540eb303
Pass KeyHandlerState as a method argument
2024-02-23 15:09:45 +02:00
Filipp Vakhitov and filipp
282e581bdb
Make state cloneable
2024-02-23 15:09:45 +02:00
Filipp Vakhitov and filipp
31e7c49608
Add equals & hashCode
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
2a1c4b3a1c
Better widget order
2024-02-06 00:32:25 +02:00
Filipp Vakhitov and lippfi
63995e8c61
Support e flag for search
2024-02-05 16:29:49 +02:00
Filipp Vakhitov and lippfi
7062d9b8f8
Enable new regex engine by default
2024-02-05 16:29:49 +02:00
Filipp Vakhitov and lippfi
ede62f5c75
Fix compilation
2024-02-05 16:29:49 +02:00
Filipp Vakhitov and lippfi
6386770ff3
Move more tests to src
2024-02-05 16:29:49 +02:00
Filipp Vakhitov and lippfi
b4e831a81f
Fix VisualAreaMatcher & TextRange
2024-02-05 16:29:49 +02:00
Filipp Vakhitov and lippfi
9b283360ce
Minor improvements
2024-02-05 16:29:49 +02:00
Filipp Vakhitov and lippfi
fabbd4d156
Better SelectionInfo implementation
2024-02-05 16:29:49 +02:00
filipp and lippfi
9bea5bf5f7
Remove deprecated code
2024-02-05 16:29:49 +02:00
filipp and lippfi
9fbc990493
Fix visual matching
2024-02-05 16:29:49 +02:00
filipp and lippfi
b05fdaaa73
Fix tests
2024-02-05 16:29:49 +02:00
filipp and lippfi
52d5d4d64c
Fix Keyword token
2024-02-05 16:29:49 +02:00
filipp and lippfi
6ec712466c
Fix StartOfWordMatcher & EndOfWordMatcher
2024-02-05 16:29:49 +02:00
filipp and lippfi
6616b8dc07
Simplify MarkMatchers
2024-02-05 16:29:49 +02:00
filipp and lippfi
807457c718
Hide method and add Deprecated annotation
2024-02-05 16:29:49 +02:00
Filipp Vakhitov
c3defdcda4
Add sources and JavaDoc to vim-engine jar
2024-02-01 11:07:28 +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
37c6934802
Revert "Update changelog. Action id - 7724318708"
...
This reverts commit 434511658b .
2024-01-31 20:09:27 +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
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
2e16ad8a2a
Revert "Downgrade ktor dependencies to check if "Publish vim-engine" fails because of them"
...
This reverts commit 7fb59b0fa9 .
2024-01-30 20:13:36 +02:00
Filipp Vakhitov
7fb59b0fa9
Downgrade ktor dependencies to check if "Publish vim-engine" fails because of them
2024-01-30 20:05:45 +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
e87290aeea
Simplify storing global variables
2024-01-29 12:58:31 +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 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
Filipp Vakhitov
52cf10cb2e
Better widget
2024-01-13 23:01:01 +02:00
Filipp Vakhitov
2d74f121aa
Set min width for widget
2024-01-04 10:45:59 +02:00
Filipp Vakhitov and Alex Pláte
fc46acb2e4
Move to concurrent list
2024-01-03 12:15:31 +02:00
Filipp Vakhitov and Alex Pláte
7fde66eb40
Better color
2024-01-03 12:15:31 +02:00
Filipp Vakhitov and Alex Pláte
b3cea3997d
Safer changes to VimPlugin
...
(avoid changes to old code that worked)
2024-01-03 12:15:31 +02:00
Filipp Vakhitov and Alex Pláte
2f20193086
Post-review improvements
2024-01-03 12:15:31 +02:00
filipp and Alex Pláte
601e207f04
Remove comment
2024-01-03 12:15:31 +02:00
filipp and Alex Pláte
f0d3d8b276
Add colors to showmode widget
2024-01-03 12:15:31 +02:00
Filipp Vakhitov and Alex Pláte
e02d34f023
Better ShowMode widget & Macro recording widget
2024-01-03 12:15:31 +02:00