Filipp Vakhitov
38bc914504
Avoid using annotation-processors in vim-engine
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
c8113eea83
Commit state after receiving unknown key
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
924b7418e8
Fix DigraphSequence cloning
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
a7dfef61e9
Make LazyVimCommand open
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 Vakhitov
2de933c723
Make processKey public
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
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 Vakhitov
00f5541dc6
Add KeyProcessResult interface
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 Vakhitov
282e581bdb
Make state cloneable
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
31e7c49608
Add equals & hashCode
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
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
9b81c7e650
Update junit version
2024-02-23 10:03:30 +02:00
dependabot[bot]
9fc3fadee8
Bump org.antlr:antlr4 from 4.10.1 to 4.13.1
...
Bumps [org.antlr:antlr4](https://github.com/antlr/antlr4 ) from 4.10.1 to 4.13.1.
- [Release notes](https://github.com/antlr/antlr4/releases )
- [Changelog](https://github.com/antlr/antlr4/blob/dev/CHANGES.txt )
- [Commits](https://github.com/antlr/antlr4/compare/4.10.1...4.13.1 )
---
updated-dependencies:
- dependency-name: org.antlr:antlr4
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-02-21 17:42:05 +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
328bc5e95a
Convert some services to light services
2024-02-20 16:10:07 +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
4937985e2c
Bump kotlin version from 1.8.21 to 1.9.22
...
One of the reasons for that is that 1.9.22 allows internal classes to be available in testFixtures from java KT-34901.
2024-02-07 09:29:15 +02:00
Alex Plate
855dbfab16
Fix issues with enter in python console
...
VIM-3287
2024-02-05 18:31:43 +02:00
Filipp Vakhitov
63995e8c61
Support e flag for search
2024-02-05 16:29:49 +02:00