Alex Plate
ee548b52db
[VIM-3784] Store the information about the first version of IdeaVim for the user.
2025-01-27 11:09:47 +02:00
dependabot[bot]
3b1e319a8e
Bump org.jetbrains:annotations from 26.0.1 to 26.0.2
...
Bumps [org.jetbrains:annotations](https://github.com/JetBrains/java-annotations ) from 26.0.1 to 26.0.2.
- [Release notes](https://github.com/JetBrains/java-annotations/releases )
- [Changelog](https://github.com/JetBrains/java-annotations/blob/master/CHANGELOG.md )
- [Commits](https://github.com/JetBrains/java-annotations/compare/26.0.1...26.0.2 )
---
updated-dependencies:
- dependency-name: org.jetbrains:annotations
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-01-22 18:08:22 +02:00
Matt Ellis
33b34b84b5
Add doc comment for inCommandLineModeWithVisual
2025-01-22 17:42:30 +02:00
Matt Ellis
308996c4c1
Remove Visual when updating incsearch for a command
2025-01-22 17:42:30 +02:00
Matt Ellis
e9e86b07fb
Fix incsearch not updating empty selection
...
As a by-product, this also fixes an off-by-one error where incsearch would effectively treat all Visual searches as exclusive
2025-01-22 17:42:30 +02:00
Sebastian Doerner
cb218697fa
[VIM-3731] Add support for "jump to previous/next lowercase mark".
...
Fixes VIM-3731
2025-01-21 22:48:12 +02:00
Matt Ellis
1d5fc01d65
Fix Del and BS not working in Select mode
...
Fixes VIM-3618
2025-01-13 18:10:01 +01:00
Alex Plate
ad584d553c
Reformat code
2025-01-10 13:28:48 +03:00
Alex Plate
36556d559f
Optimize imports
2025-01-10 13:28:47 +03:00
Alex Plate
378611fe8f
Remove outdated documentation
2025-01-10 13:28:47 +03:00
Alex Plate
ef16181ba2
Clean up code
2025-01-10 13:28:46 +03:00
Alex Plate
aaba0a09c2
Remove deprecated function
2025-01-10 13:28:46 +03:00
Matt Ellis
0b308769b1
Move select toggle implementation
2025-01-10 11:29:44 +03:00
Matt Ellis
eb19d9fb11
Refactor improper usages of toggleVisual
2025-01-10 11:29:44 +03:00
Matt Ellis
bfa271b089
Reorder functions in file. No code changes
2025-01-10 11:29:44 +03:00
Matt Ellis
e299b27a5c
Update docs and remove unnecessary null parameter
2025-01-10 11:29:44 +03:00
Matt Ellis
9306d93cbf
Remove unnecessary pushVisualMode helper function
2025-01-10 11:29:44 +03:00
Matt Ellis
63b3af3f65
Implement v_CTRL-O
...
From Select mode, enters Visual for a single command
2025-01-10 11:29:44 +03:00
Matt Ellis
fcc234c4fe
Rename submode to selectionType
2025-01-10 11:29:44 +03:00
Matt Ellis
2e0ef7e0b0
Enter Insert Visual/Select mode with shifted key
2025-01-10 11:29:44 +03:00
Matt Ellis
da99e1f1c3
Return to Insert when leaving Insert Normal
2025-01-10 11:29:44 +03:00
Matt Ellis
0e587211d9
Improve isEndAllowed
2025-01-10 11:29:44 +03:00
Matt Ellis
dc5ef487d2
Show additional Insert modes in showmode widget
2025-01-10 11:29:44 +03:00
Matt Ellis
eaad93903b
Simplify Mode hierarchy
...
Wanting to add `ReturnTo.SELECT` would be very tricky, as we would have to recreate the mode, but have no details about the selection type.
2025-01-10 11:29:44 +03:00
Matt Ellis
a6b2bf1c55
Remove ReturnableFromCmd marker interface
2025-01-10 11:29:44 +03:00
Matt Ellis
e3a07b6c89
Add support for CTRL-J
...
Supported in Normal, Visual, Select and Operator-pending. Also adds support for CTRL-M in Select mode.
Fixes VIM-3740
2025-01-10 10:00:28 +03:00
Alex Plate
c225452432
[VIM-3577] Store the information if the editor was initialized in insert mode
2024-12-18 13:19:20 +02:00
Alex Plate
5995a48d7b
[VIM-3577] Replace weak reference to focused editor to needed information
...
The `editorInFocus` used the weak reference in order to avoid editor leaks. However, if the user is unlucky, the GC may be called in between the console closing and switching focus to the new editor. In this case, the logic breaks and the Editor remains in the insert mode.
Now, we store only the required information about the last used editor.
2024-12-17 20:36:51 +02:00
Julien Phalip
4962baabad
Add support for hlsearch variable
2024-12-06 17:21:33 +02:00
Julien Phalip
2e550a0960
Add support for escape() vim function
2024-12-06 17:09:59 +02:00
Matt Ellis
a005eb0612
Fix repeating change action with count
...
Fixes VIM-3729
2024-12-04 18:23:16 +02:00
Julien Phalip
e32fa6dd11
Change Variable
to an interface
2024-11-26 10:32:11 +02:00
Julien Phalip
ec3db81c6d
Move register variable to its own separate class
2024-11-26 10:32:11 +02:00
Julien Phalip
7062dc4860
Add support for the v:register variable
2024-11-26 10:32:11 +02:00
filipp
94d7902ef2
Remove more deprecated methods
2024-11-22 17:15:07 +02:00
filipp
3d08170d54
Post-rebase fixes
2024-11-22 17:15:07 +02:00
filipp
cccb23d9ee
Specify which commands perform mode change
...
We need this for undo subsystem. Mode change is not something that we want to be a separate entity in the undo log
P.S. It's not a full list of such commands, e.g. <ESC> for leaving insert mode is missing. It is because <ESC> may insert some text after visual block mode, I'll figure out a solution for this later
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
eae3fb3ebe
Introduce VimKeyBasedUndoService and VimTimestampBasedUndoService
...
Undo is managed differently in Fleet and IJ Platform, so now we have two different interfaces that are aware of that
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
7f5dce4051
Stop using some deprecated methods
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
25e3988dcf
Introduce VimCopiedText class
...
I don't really like that we have `transferableData: List<Any>`
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
36589c5250
Add context
argument in clipboard methods
...
Alas, adding in just to clipboard was not possible, as there are a lot of depending on methods
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
f1f86b5cd2
Simplify Register class
...
1. `rawText` vs `text` is confusing and `rawText` was misused, we do not need this field in IdeaVim at all
2. `rawText` and `keys` are the same thing, just parsed. And for some reason, rawText was a nullable field
3. Register is an immutable class now
4. Working with Register class is easier and more compact now
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
628b3ca89f
Fix <CR> parsing
...
It's ^M, not ^J
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
d2b929ddd0
Fix parsing for clipboard
option
...
When I added the selection clipboard, it was confusing to explain to people how this option works and why they should prepend, because the parsing was broken
I've also removed "exclude" part, because it doesn't work in IdeaVim and can confuse people
2024-11-22 17:15:07 +02:00
filipp
43d770ff5a
Simplify getTransferableData method signature
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
cde9bc94e6
Fix select mode for immutable caret
...
Due to implementation details, caret cannot be moved after setting selection
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
63f6e73223
Fix select mode for immutable caret
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
ad28e09fec
Move caret when deleting a char
...
In Fleet deleting text does not move caret, so we add caret moving logic
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
f616f2c3c1
Fix gv
in Fleet
...
Moving caret after setting selection removes the selection
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
66aec26091
Move ColLineFunctionHandler.kt to vim-engine
2024-11-22 17:15:07 +02:00