filipp and Alex Pláte
cb40426976
Fix(FL-25338): Vim plugin stopped working in 1.31.107
2024-03-29 14:52:52 +02:00
filipp and Alex Pláte
3f65d1d99a
Revert "Revert changes to SearchGroup"
...
This reverts commit 00ccddf8cf .
2024-03-29 14:52:52 +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
0914cda7e5
Better matching for a sequence of single-line comments
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
06e1af371e
Add SearchGroup.kt
...
In the future, it should become a container for all the search methods that we have in IdeaVim
At the moment we have a bunch of SearchGroups and SearchHelpers, and it may be confusing.
We also want to avoid using unnecessary OOP.
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
b4eef17aaa
Add StringUtil.kt class
...
Methods in this file will be helpful in future search refactorings
2024-03-03 22:03:58 +02:00
filipp
5c50e8607c
Fix search
2024-03-01 08:50:18 +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
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
filipp
4aac113522
Remove duplicate method
2024-02-23 15:09:45 +02:00
filipp
795abd77a7
Add documentation
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
ea62f227bf
Remove piece of code for handling bad commands
...
Bad commands are handled in consumers
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
e9bf06686f
Add synchronize blocks to minimize risk of concurrent key processing and changing of the KeyHandlerState
2024-02-23 15:09:45 +02:00
filipp
7842b155c1
Move some logic to ModeInputConsumer
2024-02-23 15:09:45 +02:00
filipp
74a8277e10
Move some logic to SelectRegisterConsumer
2024-02-23 15:09:45 +02:00
filipp
ddb1b80463
Move some logic to CommandConsumer
2024-02-23 15:09:45 +02:00
filipp
eea3336934
Move some logic to CommandConsumer
2024-02-23 15:09:45 +02:00
filipp
f801145712
Update MappingInfo to match newer signature
2024-02-23 15:09:45 +02:00
filipp
e033b08535
Move some logic to DigraphConsumer
2024-02-23 15:09:45 +02:00
filipp
1d9514a205
Move some logic to RegisterConsumer
2024-02-23 15:09:45 +02:00
filipp
6741120f19
Move some logic to CharArgumentConsumer
2024-02-23 15:09:45 +02:00
filipp
c501457322
Move some logic to EditorResetConsumer
2024-02-23 15:09:45 +02:00
filipp
46425a24c3
Move some logic to DeleteCommandConsumer
2024-02-23 15:09:45 +02:00
filipp
9826f0a7f0
Move some logic to CommandCountConsumer
2024-02-23 15:09:45 +02:00
filipp
43175061e0
Fix broken digraphSequence
...
It shouldn't be retested on partial reset
2024-02-23 15:09:45 +02:00
filipp
0ab32cac34
Make MappingProcessor a KeyConsumer
2024-02-23 15:09:45 +02:00
filipp
e3ec9c614b
Add KeyConsumer
...
It will help us to have a more modular KeyHandler in future (chain of different consumers)
2024-02-23 15:09:45 +02:00
filipp
f454d60234
Add MutableBoolean to be able to pass and modify shouldRecord in methods
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
275c5d28e1
Add KeyProcessResultBuilder
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
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
filipp
7769985439
Merge remote-tracking branch 'origin/master'
2024-01-28 13:37:58 +02:00
filipp
0137de5ca2
Add Term widget theme
2024-01-26 15:52:07 +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
412da06554
Remove deprecated ToggleOption.kt
2024-01-26 12:47:06 +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
280e1ec16d
Fix updating widget for cases when statusbar is not initialized
2024-01-17 11:15:54 +02:00
filipp
4dc7982baa
(EA-480768) Better exception message
2022-06-27 16:19:45 +06:00
filipp
38292e97af
Fix context for function argument evaluation
2022-06-24 03:13:07 +06:00
filipp
46ea752164
Add tolower(), toupper(), join()
2022-06-24 02:58:41 +06:00
filipp
e365d0b07c
Unsubscribe document listener in UndoRedoHelper
2022-06-20 03:26:40 +06:00
filipp
69c273c4a5
Track more actions
2022-06-19 01:07:18 +06:00
filipp
f7950e7adb
Fix(VIM-2683) Pasting from system clipboard multiple lines freezes the main thread
2022-06-18 07:31:44 +06:00
filipp
7c1ae9812e
Update formatting
2022-06-18 06:26:11 +06:00
filipp
5c794ac40e
Fix(VIM-749) Support for :let command
2022-06-18 06:21:26 +06:00
filipp
9dbe3c3363
Fix(VIM-308) Undo requires one more step if the cursor is not at the position where it was after undo
2022-06-16 18:50:42 +06:00
filipp
8a98f46235
Move mapDepth to MappingState
2022-06-15 16:22:31 +06:00
filipp
9ed8db4d4a
Add oldundo option
2022-06-15 16:06:47 +06:00
filipp
f1e427e2ff
Fix command history
2022-06-14 22:10:04 +06:00
filipp
a112cfe35f
Add count to undo/redo
2022-06-14 18:47:16 +06:00
filipp
412b60d6b4
Fix selection after undo
2022-06-14 18:36:14 +06:00
filipp
f52eb5e124
Update formatting
2022-06-10 00:07:27 +06:00
filipp
5da9c5e1cd
Move variableService logic to base class
2022-06-09 23:54:43 +06:00
filipp
53fdd891fb
Move optionService logic to base class
2022-06-09 02:17:40 +06:00
filipp
94820d7a83
Update formatting
2022-06-08 20:04:50 +06:00
filipp
51c50cb902
Update formatting
2022-06-07 04:00:06 +06:00
filipp
6355d7765e
Add documentation to OptionService.kt and fix some exception messages
2022-06-07 03:59:23 +06:00
filipp
c083631590
Undo changing ideaVersion
2022-06-07 01:13:07 +06:00
filipp
f62575c870
Fix bugs with appending/prepending/removing value from string option
2022-06-07 01:09:19 +06:00
filipp
01e367cadf
Delete deprecated OptionsManager.kt
2022-06-07 01:08:10 +06:00
filipp
1744ec74c7
Add some info to the Map command
2022-06-05 00:12:09 +06:00
filipp
905f8003da
Fix repeating the @@ command
2022-06-04 01:02:01 +06:00
filipp
3b3a036806
Remove StringHelper.kt & CommonStringHelper.kt
2022-06-03 22:22:49 +06:00
filipp
11c80b2ea9
Fix cast :action mappings to <Action>
2022-05-30 16:22:40 +06:00
filipp
eb536766db
Fix exception during parsing of empty stings
2022-05-30 15:34:17 +06:00
filipp
f3b4933ef2
Fix number options
2022-05-25 19:33:40 +06:00
filipp
2ff429cc76
Update changelog
2022-05-23 22:54:51 +06:00
filipp
47d4aee986
Support return without expression
2022-05-23 22:47:47 +06:00
filipp
938325b93e
Update formatting
2022-05-23 21:02:39 +06:00
filipp
12d0a2ffb7
Update gradle & gradle wrapper
2022-05-23 21:00:52 +06:00
filipp
4ff7e9aefa
Move some logic to base classes
2022-05-23 21:00:32 +06:00
filipp
f52792e7f0
Move Regexp from engine
2022-05-23 00:10:57 +06:00
filipp
cbc6662ef7
Update formatting
2022-05-08 21:10:40 +06:00
filipp
26ffc2ad32
Move some classes to vim-engine
2022-05-08 21:09:52 +06:00
filipp
df32e573b0
Move some classes to vim-engine
2022-05-08 15:49:53 +06:00
filipp
19647d96b2
Move some classes to vim-engine
2022-05-08 12:23:14 +06:00
filipp
83199d5475
Move some classes to vim-engine
2022-05-07 22:45:52 +06:00
filipp
3ef86186eb
Fix parsing strings with \r in the end
2022-04-25 00:30:56 +06:00