854563130a
Update search register when using f/t
2024-03-21 23:18:58 +01:00
c5d108c3d6
Fix(VIM-3166): Workaround to fix broken filtering of visual lines
2024-03-21 23:18:58 +01:00
c76e4eabd4
Add support for count for visual and line motion surround
2024-03-21 23:18:58 +01:00
f060750768
Fix(VIM-696) Restore visual mode after undo/redo, and disable incompatible actions
2024-03-21 23:18:58 +01:00
83c2e1c362
Revert(VIM-2884): Fix moving lines to cursor
2024-03-21 23:18:57 +01:00
6555e8dddd
Respect count with <Action> mappings
2024-03-21 23:18:57 +01:00
932fb509ff
Reset insert mode when switching active editor
2024-03-21 23:18:57 +01:00
Alex Plate
65d755d9b2
Bring back the getMappingMode
function for binary compatibility with the which-key plugin
2024-03-12 09:31:59 +02:00
Alex Plate
1f1a8f3395
Avoid generation of the huge amount of sets during regex search
...
The tests shows that the depth of `epsilonVisited` is usually around 0-3, so there is no need to use the set. However, when the set is used, we have to make a new copy everytime we create a new `SimulationStackFrame`.
Now, the previous stack is reused.
2024-03-11 18:51:46 +02:00
Alex Plate
629e4e7053
Fix(VIM-3336): Improve the performance of n
in large files
...
The git history shows that the force update of the search highlights was accidentally enabled during the refactorings
2024-03-11 18:49:38 +02:00
Alex Plate
c50a299cfd
Remove the unused import
2024-03-11 18:48:27 +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
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
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 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
dependabot[bot]
c3978335f5
Bump org.mockito.kotlin:mockito-kotlin from 5.0.0 to 5.2.1
...
Bumps [org.mockito.kotlin:mockito-kotlin](https://github.com/mockito/mockito-kotlin ) from 5.0.0 to 5.2.1.
- [Release notes](https://github.com/mockito/mockito-kotlin/releases )
- [Commits](https://github.com/mockito/mockito-kotlin/compare/5.0.0...5.2.1 )
---
updated-dependencies:
- dependency-name: org.mockito.kotlin:mockito-kotlin
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-02-28 16:01:23 +00:00
filipp
3c94091d30
Merge branch 'refs/heads/master' into fleet
2024-02-23 17:24:08 +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
9d6dc317a4
Only notify editors for the current buffer
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
2ce3fbd677
Use common APIs to get local editors
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
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
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
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 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