1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2024-11-22 17:42:46 +01:00
Commit Graph

1275 Commits

Author SHA1 Message Date
Emanuel Gestosa
0722991955 add test for collection with not special escaped character 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
bcc740cdbc implementing custom collections 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
5cf46097f7 ascii character classes 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
61dc189f8b char classes and collections base code 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
23c2b008c9 implementing cursor and using mockito to mock editor
rebasing
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
db14afdf3a dot with and without newline 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
b7927336d1 implementing dot 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
ee23a3d4cd commenting findAll 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
63c0112ffb findAll API function 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
db08d7d280 find API function 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
9892525fbc containsMatchIn API function 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
34b87ff6bf adding comments 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
241ad68bd5 fix nfa looping in epsilon transitions 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
a0ec18921b more correct way of handling quantifiers 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
45e17eb0b2 fixing quantifiers 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
59f0e9ae67 add test for updating capture group 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
af24611c73 capture group submatch 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
d4502dda3f VimMatchResult stores matched string value 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
c0efa8af5d use IntRange for match range 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
1c06a3fc89 add test for empty group 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
c19fb38d1c implementing grouping 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
5dc1de9daf add nfa test for escaped character 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
6774301938 updating comments 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
4ef6cf0428 implementing quantifiers 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
ca5f8e4b44 skeleton for NFA testing 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
1907f03abe nfa simulation uses VimEditor instead of String 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
6351a4e4f3 initial nfa 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
fa34c3937f initial nfa definition 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
cdac97ebf5 adding some zero-width tokens 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
fe958d28b8 lexer fixing what chars are taken literally 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
f71982e1d5 support unicode in collections 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
cb2bfcea53 unicode chars in all lexer modes 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
4a9d5bbceb lexer support for unicode characters 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
10809eade6 regex very magic and very nomagic modes 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
43d63527f8 adding comments to parser grammar 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
df51eb54ed using antlr token types 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
b47109ab4d grammar add EOF at end of pattern 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
15b2b68940 making new collection tests pass 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
62a239f6fe add tests for collections 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
d89bc95a0a altering antlr error handling 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
2a76f21b31 regex range basic tests 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
f07e22d742 delete duplicate files 2024-02-05 16:29:49 +02:00
Emanuel Gestosa
058ab7a1ea gradle generate antlr files
rebasing
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
fae3baa640 initial regex grammar 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
1822a59c70 Revert "Fix(VIM-3273): Config file stopped working"
This reverts commit 04230fdd9c.
2024-01-31 20:09:31 +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
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
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
24e044bcda Remove deprecated ComplicatedKeysAction.kt 2024-01-30 18:56:38 +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
Alex Plate
808533b110
Fix(VIM-3260): Processing the offsets at the file end 2024-01-26 17:49:44 +02:00
Alex Plate
26d4074a61
[VIM-2974] Adopt other parts of key handling to the octopus handler switcher 2024-01-26 16:40:34 +02:00
Alex Plate
db6786414a
[VIM-2974] WIP: Bringing back the octopus handler switch 2024-01-26 15:32:29 +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
017c9a6a70 Remove deprecated OptionService.kt 2024-01-26 12:43:06 +02:00
filipp
1d7796805c Fix(VIM-3183): Execute .ideavimrc on pooled thread 2024-01-26 12:27:03 +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
a9ededc997 VIM-1377 Normal mode needs to be more obvious
Add color customization to mode widget
2024-01-23 01:27:57 +02:00
Matt Ellis
825b62a2a9 Refactor to remove lazy properties 2024-01-04 15:58:36 +02:00
Matt Ellis
5ec817776c Use "vim" prefix for option keys 2024-01-04 15:58:36 +02:00
Matt Ellis
3ad0519add Extract initialisation strategies to new class 2024-01-04 15:58:36 +02:00
Matt Ellis
9868522341 Only calculate stack trace if logging is enabled 2024-01-04 15:58:36 +02:00
Matt Ellis
5b8d8c617f Improve type handling 2024-01-04 15:58:36 +02:00
Matt Ellis
a1f66061e3 Extract option storage to separate class 2024-01-04 15:58:36 +02:00
Matt Ellis
d8811933c9 Simplify resetting options for testing 2024-01-04 15:58:36 +02:00
Matt Ellis
c9864dde8d Extract parsed values cache 2024-01-04 15:58:36 +02:00
Matt Ellis
ca849d6649 Simplify API of OptionListenersImpl 2024-01-04 15:58:36 +02:00
Matt Ellis
95a2354a86 Fix issue where global value wasn't properly set 2024-01-04 15:58:36 +02:00
Matt Ellis
538e0ac48c Extract listener notification
Refactoring - no intentional changes in behaviour
2024-01-04 15:58:36 +02:00
Matt Ellis
cbe0f89548 Extract listener registration to separate class
Refactoring - no intentional changes in behaviour
2024-01-04 15:58:36 +02:00
Matt Ellis
615b071dcb Rename methods for clarity 2024-01-04 15:58:36 +02:00
Filipp Vakhitov
fc46acb2e4 Move to concurrent list 2024-01-03 12:15:31 +02:00
Filipp Vakhitov
2f20193086 Post-review improvements 2024-01-03 12:15:31 +02:00
Filipp Vakhitov
e02d34f023 Better ShowMode widget & Macro recording widget 2024-01-03 12:15:31 +02:00
filipp
216f020b70 Add new listeners 2024-01-03 12:15:31 +02:00
Alex Plate
b307c7d88b
[VIM-2929]: Reset the key stack in case of exception during the execution 2024-01-02 13:57:12 +02:00
Alex Plate
7098d2633a
Add a helper function to key keystokes from string 2024-01-02 13:57:12 +02:00
Alex Plate
e36131b38b
[VIM-2929]: Adding logging for tracing the keyStack 2023-12-28 11:24:13 +02:00
Matt Ellis
8ab43e98fe Remove unnecessary keeping visual mode flag
The value was only ever set to false.
2023-12-22 10:55:00 +02:00
Matt Ellis
4f407ccc03 Remove unused multikey-undo flag
It's uncertain what this was introduced for, and it's no longer used for any behaviour
2023-12-22 10:55:00 +02:00
Matt Ellis
5f3fddd3e4 Remove unnecessary post process method
We no longer need to post process the selection because it is up to the operator implementation to end in the correct mode
2023-12-22 10:55:00 +02:00
Matt Ellis
392f3b536d Remove unnecessary mode reset
Visual mode should already have been exited before executing the operator. The operator's implementation is responsible for handling the final mode
2023-12-22 10:55:00 +02:00
Matt Ellis
155de2b396 Remove always true check and always exit visual 2023-12-22 10:55:00 +02:00
Matt Ellis
6c9930ac2a Removes unnecessary 'exit visual' command flag
This flag is only used to modify the behaviour of visual operators, but all visual operators have the flag, which means it's unnecessary. The only behaviour for visual operators now is to exit visual mode.

Note that visual motions are implemented separately, and handle their own visual mode requirements (e.g. MotionArrowLeftAction).
2023-12-22 10:55:00 +02:00
Matt Ellis
9dddf4f4bc Minor cleanup 2023-12-22 10:55:00 +02:00
Alex Plate
6384b28689
Refactor listeners to avoid manual unregister
However, manual removal of listeners may cause "double" remove in cause the user turns off the plugin and then closes IDE: firstly listener is removed manually, and then by dispose call
2023-12-19 01:44:57 +02:00
Alex Plate
e661466558
Small refactorings on IdeaSelectionControl
They are done because if we don't set timer to null after tests, we have a leaked project
2023-12-19 00:12:54 +02:00
Alex Plate
5652774888
Exclude kotlin stdlib from the distribution 2023-12-01 11:19:18 +02:00
filipp
5afd161fba Update minimal supported version to 2023.3 2023-11-24 20:42:48 +02:00
Alex Plate
568d5ca4ff
Fix(VIM-3090): Cmd line mode saves the visual mode
Previously, cmd line mode always returned to normal mode. However, it should keep the visual or one-time modes
2023-11-24 17:42:33 +02:00
Alex Plate
a9991f2a50
Convert ProcessGroup to kotlin 2023-11-24 17:00:06 +02:00
Filipp Vakhitov
8fcca05565 Fix(VIM-3176): Reselecting visual selection after pasting above it select wrong lines 2023-11-23 22:53:07 +02:00
dependabot[bot]
14308956d7 Bump org.jetbrains:annotations from 24.0.1 to 24.1.0
Bumps [org.jetbrains:annotations](https://github.com/JetBrains/java-annotations) from 24.0.1 to 24.1.0.
- [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/24.0.1...24.1.0)

---
updated-dependencies:
- dependency-name: org.jetbrains:annotations
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-22 17:20:29 +02:00
dependabot[bot]
71339a66d7 Bump org.junit.jupiter:junit-jupiter-api from 5.10.0 to 5.10.1
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5) from 5.10.0 to 5.10.1.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.0...r5.10.1)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-22 17:20:10 +02:00
Alex Plate
22062f0c77
Fix(VIM-3190): Do not use octopus handler if the enter key is used with modifiers like shift or control 2023-11-22 11:51:57 +02:00
Alex Plate
f6eab62c3c
Fix(VIM-3184): Revert "VIM-3184: Temporally disable new handlers for the thin client"
This reverts commit 6960a34d02.
2023-11-22 09:42:59 +02:00
Alex Plate
6960a34d02
VIM-3184: Temporally disable new handlers for the thin client 2023-11-21 13:09:52 +02:00
filipp
f80d1defcb Add Javadoc 2023-11-17 14:00:38 +02:00
filipp
a9052a068f Fix property tests 2023-11-17 13:05:30 +02:00
dependabot[bot]
c3134b9426 Bump org.junit.jupiter:junit-jupiter-engine from 5.10.0 to 5.10.1
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.10.0 to 5.10.1.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.0...r5.10.1)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-15 17:36:01 +02:00
Alex Plate
9d20061924
Do not register VimShortcutKeyAction for esc and enter keys
This is no more needed as we have a different way of getting the key. Also, this causes a bug VIM-3169
2023-11-10 17:17:13 +02:00
Filipp Vakhitov
ddfe8cf361 Support temporary options 2023-11-10 16:01:22 +02:00
Filipp Vakhitov
93c83f773a Add generated JSON files to gitignore 2023-11-10 16:01:22 +02:00
Filipp Vakhitov
876e16fa9e Support registering commands from json 2023-11-10 16:01:21 +02:00
Filipp Vakhitov
37067d5c72 Fix typos 2023-11-10 16:01:21 +02:00
Filipp Vakhitov
fe6c1ae452 Add LazyVimCommand and CommandProvider 2023-11-10 16:01:21 +02:00
Filipp Vakhitov
30165f5047 Support keypad keys in Vim key notation 2023-11-10 16:01:21 +02:00
Filipp Vakhitov
3046c61447 Generating json by annotations 2023-11-10 16:01:21 +02:00
Filipp Vakhitov
ced50bb2e8 Mark xml related classes for commands as deprecated 2023-11-10 16:01:21 +02:00
Filipp Vakhitov
dee84bcc63 Annotate commands 2023-11-10 16:01:21 +02:00
Alex Plate
288c66d8a2
Refactor execution of vim script
Now we set the flag `executingVimscript` during execution of any vimscript and we run initialization of delayed plugins after every call for execute.

This is needed to properly initialize plugins after call for `source` command. Previously this command initialized extensions as they met in the script, what may cause incorrect behaviour. With this update, we unified an approach for executing vim script.
2023-11-03 13:27:38 +02:00
Alex Plate
44c8a97f44
Consider the case when we load .ideavimrc file from using the source command
This includes updating the "ReloadIdeaVimRc" button and setting the correct mapping owner

Previously, the `source` command loaded ~/.ideavimrc file as a regular file, thus several features didn't work properly.
This refactoring was caused by this PR: https://github.com/JetBrains/ideavim/pull/736
2023-11-03 13:27:38 +02:00
Alex Plate
60c27b1dea
Add documentation about some aspects of IdeaVim implementation 2023-11-03 13:27:38 +02:00
filipp
06ef1c1182 VIM-1639 Ctrl-o and Ctrl-i jumping in files of different projects 2023-10-26 10:23:16 +03:00
filipp
a9ba9789fd Fix(VIM-696): Vim selection issue after undo 2023-10-25 16:55:32 +03:00
Alex Plate
8c06767fdc
Show error instead of warning in case of exception 2023-10-20 11:10:55 +03:00
Alex Plate
25877e369b
Add comment saying that the ideaglobalmode option is experimental 2023-10-20 10:15:42 +03:00
Alex Plate
0271a475a2
Update docs 2023-10-20 10:15:42 +03:00
Alex Plate
26f48c5820
Fix(VIM-3095): Fix missing ellipsis digraph 2023-10-11 12:27:00 +03:00
Alex Plate
9eeeb15c6c
Enable octopus handler by default 2023-10-10 11:39:14 +03:00
Alex Plate
4731eb9db8
Bring back removed functions 2023-09-14 16:50:52 +03:00
Alex Plate
337f5ade59
Get rid of deprecated method 2023-09-14 16:31:26 +03:00
Alex Plate
fe8bbcb11a
Bring back a method to keep the compatibility 2023-09-14 16:26:14 +03:00
Alex Plate
b1b6b0bf80
Add links to the new page about modes 2023-09-14 15:44:00 +03:00
Matt Ellis
585b815472 Only notify changes if the value is different
This is primarily to avoid instantiating inactive extensions when
resetting all options back to default values, which sets extensions
inactive.
It applies to global and local options, but not to global-local. The
notifications for global-local options are already complex, as they can
be reacting to changes to both the global and local value, and only
notifying editors that are affected.
2023-09-11 11:04:09 +03:00
Matt Ellis
c37e2f4176 Update fallback window when all windows close 2023-09-11 11:04:09 +03:00
Matt Ellis
32b8d03c5e Improve modifying string and string list options 2023-09-11 11:04:09 +03:00
Matt Ellis
71f3e1b4f1 Support per-window global values
For local-to-window options
2023-09-11 11:04:09 +03:00
Matt Ellis
aa6f53fa68 Require editor when getting/setting global option 2023-09-11 11:04:09 +03:00
Matt Ellis
700198d8bc Remove test only vimscript execute method 2023-09-11 11:04:09 +03:00
Matt Ellis
3efab5928e Evaluate ideavimrc in the fallback window context 2023-09-11 11:04:09 +03:00
Matt Ellis
93037b6866 Add fallback window to capture local option state 2023-09-11 11:04:09 +03:00
Matt Ellis
0f19e50c69 Improve hierarchy of option accessors
Getting the effective IJ options would allow access to Vim global and IJ global, but not Vim effective. IntelliJ specific options are now a separate hierarchy, so the Vim effective and IJ effective accessors now simply access all Vim or all IJ options.
2023-09-11 11:04:09 +03:00
Matt Ellis
66ea6ad3d4 Rename OptionScope to OptionAccessScope 2023-09-11 11:04:09 +03:00
filipp
0c1dc51db4 Fix(VIM-3060): Clipboard interaction stopped working
Fix for Windows
2023-09-07 14:42:00 +03:00
filipp
74a710c5e8 VIM-3060 Clipboard interaction stopped working
Fixed issue and tests (for Linux)
2023-09-07 02:39:23 +03:00
Alex Plate
456055bcf0
Do not run multiple carets from ChangeEditorActionHandler and instead pass this information to EditorActionHandlerBase
This is needed for the new way we register handlers. As we can't be sure that this commands won't be called from the `runForEachCaret` context, we have to avoid this method
2023-09-01 17:25:14 +03:00
Alex Plate
4532d68743
Convert change group to kotlin 2023-09-01 14:29:51 +03:00
Alex Plate
26e9bf5197
Detect if we run the action in runForEachCaret scope or not 2023-09-01 13:25:15 +03:00
dependabot[bot]
38e1a62f19 Bump org.jetbrains.kotlinx:kotlinx-serialization-json-jvm
Bumps [org.jetbrains.kotlinx:kotlinx-serialization-json-jvm](https://github.com/Kotlin/kotlinx.serialization) from 1.5.1 to 1.6.0.
- [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Kotlin/kotlinx.serialization/compare/v1.5.1...v1.6.0)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-json-jvm
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-30 18:36:38 +03:00
Alex Plate
e7a8b45c10
[VIM-3051] Refactor the way we store modes in IdeaVim
Now we have a single variable with current mode instead of stack of modes.
2023-08-25 11:38:21 +03:00
dependabot[bot]
336f1c3b80 Bump org.jetbrains.kotlinx:kotlinx-serialization-json-jvm
Bumps [org.jetbrains.kotlinx:kotlinx-serialization-json-jvm](https://github.com/Kotlin/kotlinx.serialization) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Kotlin/kotlinx.serialization/compare/v1.5.0...v1.5.1)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-json-jvm
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-16 16:21:36 +00:00
Alex Plate
22ca74a1a3
Use a different approach for switching to visual mode. The previous way caused "recursive runForEachCaret exception" 2023-08-14 16:17:47 +03:00
Alex Plate
3093c9212c
Add note about visual type in text objects 2023-08-14 16:17:46 +03:00
dependabot[bot]
6b8a4e6e63 Bump org.junit.jupiter:junit-jupiter-engine from 5.9.2 to 5.10.0
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.9.2 to 5.10.0.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.9.2...r5.10.0)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 11:28:23 +03:00
dependabot[bot]
d256870953 Bump org.junit.jupiter:junit-jupiter-api from 5.9.2 to 5.10.0
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5) from 5.9.2 to 5.10.0.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.9.2...r5.10.0)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 08:16:59 +00:00
Ludwig Valda Vasquez
068d610e3a Add grapheme cluster handling tests
GraphemeBreakTest.txt was downloaded from the Unicode Character Database [0].

Changes to build.gradle.kts were required to stop `gradlew test` from
regenerating the resources with empty JSON objects. And adding a
dependency.

[0]: https://www.unicode.org/Public/UCD/latest/ucd/auxiliary/GraphemeBreakTest.txt
2023-08-14 09:04:41 +03:00
Ludwig Valda Vasquez
41177b91be Handle unicode grapheme clusters
Some characters that render as a single symbol can span over a sequence
of several unicode code points (e.g., flag emojis, combination of a
letter and a diacritic, Hangul syllables, etc.).

Such composites are called grapheme clusters in the unicode standard,
and this patch introduces recognition of extended grapheme cluster
boundaries, allowing to iterate over rendered characters. Without this,
user may observe the cursor being "stuck" inside a character for several
keystrokes, while it's making its way through each code point in the
grapheme cluster.

The implementation follows the boundaries search algorithm outlined in
the technical report 29 of the Unicode standard[1]. The implementation was
tested against the set of test cases provided by the unicode character
database[2].

Additionally to the grapheme cluster boundaries search itself, this
patch adds `isExtendedPictographic` function, that answers whether the
given code point has a unicode "Extended_Pictographic" property, which
is required to correctly determine grapheme cluster boundaries. This
method is implemented natively in the JDK 21 and can be removed once we
start targeting that version.

Extended_Pictographic property is stored as a bitmap. I was considering
making a similar map for the code point classification in the grapheme
cluster boundary search implementation, which could yield better
performance, but that would require adding another half a megabyte (at
least) of data into the JAR and I've settled for the bunch of `if`s way.

That is something that can be reconsidered and shouldn't be difficult to
change if the impact on performance would be noticeable (in my simple
tests it didn't show).

A few functions in the vim-engine were adjusted to handle grapheme
clusters (such as getting the horizontal offset and adjusting the cursor
to not reach over the end of the line).

[1]: https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries
[2]: https://www.unicode.org/Public/UCD/latest/ucd/auxiliary/GraphemeBreakTest.txt
2023-08-14 09:04:41 +03:00
Alex Plate
5d4996c085
Optimize imports on the project 2023-08-11 11:54:38 +03:00
filipp
1fe64e69ca Support running tests if headless 2023-08-04 19:00:47 +03:00
filipp
41df06a48b Fix failing tests second attempt
(please please)
2023-08-03 14:00:03 +03:00
filipp
4188e636f3 Fix failing tests
(please)
2023-08-03 13:39:33 +03:00
filipp
e2c0d59e3a Fix default register for unnamedplus without X 2023-08-03 11:24:29 +03:00
Alex Plate
a62cc3618c
Fix an issue with disposed caret when moving up
There was an issue that when we enter visual block, move up, then try to switch to the visual line, we get a disposed caret issue.
This was caused by the fact that we get the list of carets, then process them one by one. However, as we update the first caret, the second gets disposed.
2023-08-01 16:17:39 +03:00
Matt Ellis
d112030a8e Add explanatory comment about InsertExitModeAction 2023-08-01 12:22:26 +03:00
Matt Ellis
dd24ebf184 Rename OptionsScope.AUTO to EFFECTIVE 2023-07-31 11:28:32 +03:00
Matt Ellis
7ef2be625f Refactor parseOptionLine for readability 2023-07-31 11:28:32 +03:00
Matt Ellis
e3957d2207 Minor updates from code review 2023-07-31 11:28:32 +03:00
Matt Ellis
e1141dcd1c Remove old option listener API 2023-07-31 11:28:32 +03:00
Matt Ellis
54dc184dd0 Introduce option effective value change listener 2023-07-31 11:28:32 +03:00
Matt Ellis
1977ce3ea5 Add simple one to many collection 2023-07-31 11:28:32 +03:00
Matt Ellis
c8c9d1729e Introduce listener for global option changes 2023-07-31 11:28:32 +03:00
Matt Ellis
1c465f028e Fix option scopes for :let command 2023-07-31 11:28:32 +03:00
Matt Ellis
12824c22c4 Add :setglobal command 2023-07-31 11:28:32 +03:00
Matt Ellis
080c2059ee Format unset global-local toggle options 2023-07-31 11:28:32 +03:00
Matt Ellis
a288850010 Add support for resetting option to global value 2023-07-31 11:28:32 +03:00
Matt Ellis
16811602d2 Support global-local options 2023-07-31 11:28:32 +03:00
Matt Ellis
6d94d719e3 Only notify change if option has changed 2023-07-31 11:28:32 +03:00
Matt Ellis
749d111e89 Reset options for current editor only
Matches Vim behaviour for `:set all&`
2023-07-31 11:28:32 +03:00
Matt Ellis
365d8d34ce Introduce AUTO scope for effective option values 2023-07-31 11:28:32 +03:00
Matt Ellis
ced25bbf28 Initialise options when opening windows/buffers
Note that this temporarily changes the semantics of `:set` to always set the local option, instead of setting the global option (because we now eagerly initialise local values). Neither is correct, but we don't yet have a way to support the proper behaviour.
2023-07-31 11:28:32 +03:00
Matt Ellis
7e1ce5a203 Use Vim terminology in storage service 2023-07-31 11:28:32 +03:00
Matt Ellis
9a3fcb56a1 Support local-to-buffer options
Previously, all local options were treated as local-to-window
2023-07-31 11:28:32 +03:00
Matt Ellis
aff956f4c8 Update parsed value cache for declared scope 2023-07-31 11:28:32 +03:00
Matt Ellis
0f49fd6406 Introduce declared scope for all options 2023-07-31 11:28:32 +03:00
Filipp Vakhitov
dfbefe96da Fix(VIM-802): IdeaVim vs. Vim: discrepancies in using registers 2023-07-28 19:58:51 +03:00
filipp
a71b35097f Fix(VIM-2246): X11/Xorg Primary selection register "* not supported 2023-07-28 19:56:42 +03:00
filipp
0058f81e76 VIM-3022 Search is broken in folded regions 2023-07-27 01:03:12 +03:00
Alex Plate
78ea4e4e30
Set up publishing of the vim-engine library 2023-07-20 16:50:14 +03:00
Matt Ellis
2f5d402c61 Support :set! to output as a single column 2023-07-19 18:04:02 +03:00
Matt Ellis
8fb2ea5845 Output options in column order, not row order
This means that the last column might not be full, rather than the last row. Same as Vim.
2023-07-19 18:04:02 +03:00
Matt Ellis
a78e21a167 Use soft wraps instead of hard wraps in ex output
Hard wraps require figuring out the width of the panel, and all we have is the width of the associated editor, which excludes gutter, etc. Easier to let the UI toolkit handle it
2023-07-19 18:04:02 +03:00
Matt Ellis
2e9b626523 Fix formatting of value pair options 2023-07-19 18:04:02 +03:00
Matt Ellis
4487b8904c Sort options output before formatting
Sorts on option name, not including "no" prefix for toggle options
2023-07-19 18:04:02 +03:00
Matt Ellis
1f01f915dc Remove trailing padding from options list 2023-07-19 18:04:02 +03:00
filipp
a769a8d1a4 Fix(VIM-2818): Wrong caret position after multicaret paste 2023-07-14 16:24:36 +03:00
filipp
9e203898b6 Support more registers for secondary carets 2023-07-14 13:42:43 +03:00
Ludwig Valda Vasquez
28887c1da2 Update VimMessages#updateStatusBar to accept VimEditor
This is required for vim support in Fleet.
2023-07-07 10:57:56 +03:00
filipp
2582f1e907 Fix(VIM-1294): unvoluntary unfolding when using ideavim 2023-06-30 12:32:41 +03:00
filipp
c376feb4d8 Fix(VIM-2685): Register command outputs different values for same registers 2023-06-27 17:40:56 +03:00
filipp
1205bb67f2 VIM-2973 Multiline editing like "ciw" doesn't work well when have remappings to stop c and d from using the default register 2023-06-21 01:20:46 +03:00
filipp
10bcd20cd8 Retire obsolete commands
With all the gratefulness for 20 years of service. Thank you, pioneers of our plugin's legacy.
2023-06-20 15:59:09 +03:00
filipp
1b1680f7b0 Fix typo 2023-06-20 15:59:09 +03:00
filipp
6cc52570ac Add missing ExCommand annotations 2023-06-20 15:59:09 +03:00
filipp
6425791ed9 Attempt to avoid broken jsons after partial compilation 2023-06-20 15:59:09 +03:00
Alex Plate
0192009482
Fix(VIM-2975): Fix the offset after the rendered docs 2023-06-15 14:25:09 +03:00
Alex Plate
7b71af9e1d
Fix(VIM-2964): Fix an issue with leaking caret instance
Now I use the subscription to the disposer, but I think we can update it to the flow
2023-06-06 16:12:54 +03:00
Alex Plate
51c464f8d2
Fix out of bounds exception 2023-06-06 12:07:33 +03:00
filipp
460553d8ae Avoid dependency to annotation-processors 2023-06-06 10:42:42 +03:00
filipp
cc2de42415 Moving from gorgeous YAML to good old JSON 2023-06-06 10:42:42 +03:00
filipp
b31aa57d81 build.gradle.kts cleanup 2023-06-06 10:42:42 +03:00
filipp
c9b9bb6cf8 Remove generated files for tests 2023-06-06 10:42:42 +03:00
filipp
434d882314 Add vimscriptfunctionannotation option 2023-06-06 10:42:42 +03:00
filipp
f456e0a8dd Fix tests 2023-06-06 10:42:42 +03:00
filipp
4d907213c3 Split ex-commands in YAML 2023-06-06 10:42:42 +03:00
filipp
ee704f53c7 Support lazy ex command classloading 2023-06-06 10:42:42 +03:00
filipp
74237365f1 Fix LazyVimscriptFunction 2023-06-06 10:42:42 +03:00
filipp
8aeab29303 Annotate ex-commands 2023-06-06 10:42:42 +03:00
filipp
ff945e7b8a Add ExCommand annotation 2023-06-06 10:42:42 +03:00
filipp
7491d19309 Add yaml files 2023-06-06 10:42:42 +03:00
filipp
627c8a6eca Move some functions to engine 2023-06-06 10:42:42 +03:00
filipp
8094758a82 Add function providers 2023-06-06 10:42:42 +03:00
filipp
f143b6ee9f Rename KSP options 2023-06-06 10:42:42 +03:00
filipp
063d3949cf Better YAML 2023-06-06 10:42:42 +03:00
filipp
c1b87eba03 Annotate functions 2023-06-06 10:42:42 +03:00
filipp
bae52964cd Add VimscriptFunction annotation 2023-06-06 10:42:42 +03:00
samabcde
437932cd57 VIM-1990 fix repeat delete find or till wrong MotionType 2023-06-01 10:36:28 +03:00
samabcde
4e7149c945 VIM-2615 add support to sort u command, fix natural sort issue when both string not contain number 2023-05-29 14:41:06 +03:00
Alex Plate
48b18da953
Get text object parameters from the operatorArguments 2023-05-19 10:21:18 +03:00
Alex Plate
904ca5d529
Remove argument argument from text object 2023-05-19 10:16:23 +03:00
Alex Plate
05986d017d
Remove deprecated function 2023-05-19 09:52:06 +03:00
Matt Ellis
798750bf95 Use options API for more cached values 2023-05-17 10:54:13 +02:00
Matt Ellis
e8d9bd551f Add helper functions to storage service 2023-05-17 10:54:13 +02:00
Matt Ellis
d08ea2ee9b Introduce simple cache for parsed option values 2023-05-17 10:54:13 +02:00
Matt Ellis
52dcb2d290 Treat 'iskeyword' as a local-to-buffer option 2023-05-17 10:54:13 +02:00
Matt Ellis
4cc883f174 Refactor search helper companion to interface
Helper functions now take the editor rather than the text, ready for search to rely on per-editor options (i.e. '`iskeyword'`). Also standardises on `Int` for search parameters. While the file size is a `Long`, the editor returns a `CharSequence`, which is indexed by `Int`.
2023-05-17 10:54:13 +02:00
Matt Ellis
5a3c5bd761 Treat 'virtualedit' as a global-local option 2023-05-17 10:54:13 +02:00
Matt Ellis
fd314a3288 Treat 'matchpairs' as a local option 2023-05-17 10:54:13 +02:00
filipp
e4f7700044 Refactoring
Update method signatures and return types:
- Getting rid of "magic constants" (e.g. -1) and replacing them with nullable
- Replacing direction Int with Enum
- JetBrains annotations
2023-05-05 09:41:27 +03:00
filipp
2088c1ce00 Move more methods to engine 2023-05-05 09:41:27 +03:00
Alex Plate
30e69e13fd
Update kotlin version to 1.8.21 2023-04-26 10:57:54 +03:00
dependabot[bot]
17346c255e Bump org.jetbrains:annotations from 23.0.0 to 24.0.1
Bumps [org.jetbrains:annotations](https://github.com/JetBrains/java-annotations) from 23.0.0 to 24.0.1.
- [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/23.0.0...24.0.1)

---
updated-dependencies:
- dependency-name: org.jetbrains:annotations
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-26 10:46:14 +03:00
Matt Ellis
29bd7cbe6e Update note to include how to add an option 2023-04-26 10:26:06 +03:00
Matt Ellis
a51fc9c612 Add extra notes about the history of refactorings 2023-04-26 10:26:06 +03:00
Matt Ellis
957874ce2b Remove unused @JvmField annotations 2023-04-26 10:26:06 +03:00
Matt Ellis
330d92116c Refine inheritance of IJ specific option classes 2023-04-26 10:26:06 +03:00
Matt Ellis
899adfc1b0 More refactoring to use new API 2023-04-26 10:26:06 +03:00
Matt Ellis
23535a6ad5 Remove OptionValueAccessor 2023-04-26 10:26:06 +03:00
Matt Ellis
e8b7f00370 Remove accessor from new API 2023-04-26 10:26:06 +03:00
Matt Ellis
3f2c5070ee Migrate local option access to new API 2023-04-26 10:26:06 +03:00
Matt Ellis
a2352525c5 Migrate global option access to new API
Also fixes some incorrect usages of local options as global, e.g. 'ideajoin' and 'scroll'. There are some options that should be local that are only ever accessed at global scope. These need fixing in the future, e.g. 'iskeyword', 'matchpairs' and 'virtualedit'
2023-04-26 10:26:06 +03:00
Matt Ellis
50384a526b Introduce option accessor delegated properties
Also migrates tests to use new properties
2023-04-26 10:26:06 +03:00
Matt Ellis
9ade3365ff Extract StringListOption
While it is conceptually very similar to StringOption, the implementation of list vs not-list operations are very different, and having a separate type will allow us to do more interesting things with overloading when we introduce delegate properties
2023-04-26 10:26:06 +03:00
filipp
2f55d92d83 Move more methods to engine 2023-04-19 15:07:06 +03:00
Matt Ellis
f803c0aa72 Add deterministic initialisation of options 2023-03-31 17:37:48 +03:00
Matt Ellis
531b0e3537 Provide an API to override option default value
This is specifically to support ideaput in 'clipboard'
2023-03-31 17:37:48 +03:00
Matt Ellis
cbf6c30be6 Make option value accessor more strongly typed 2023-03-31 17:37:48 +03:00
Matt Ellis
a6f62dd837 Remove unnecessary assert
checkIfValueValid will check datatype is correct
2023-03-31 17:37:48 +03:00
Matt Ellis
18d52c2459 Make addListener more strongly typed 2023-03-31 17:37:48 +03:00
Matt Ellis
ee55cfd2dd Improve handling of variance with setOptionValue
With the `out` modifier, the compiler won't report a problem trying to assign `VimInt` to an `Option<VimString>`
2023-03-31 17:37:48 +03:00
Matt Ellis
3ab5fc1120 Improve handling of variance 2023-03-31 17:37:48 +03:00
Matt Ellis
b7dcff79ae Improve modifyOptionValue 2023-03-31 17:37:48 +03:00
Matt Ellis
c857b9d6dd Make functions private to SetCommand 2023-03-31 17:37:48 +03:00
Matt Ellis
8f8c05e451 Remove string based option helper functions 2023-03-31 17:37:48 +03:00
Matt Ellis
c8ca6671ab Remove unused functions 2023-03-31 17:37:48 +03:00
Matt Ellis
88f0d2e532 Replace constants with strongly typed properties 2023-03-31 17:37:48 +03:00
Matt Ellis
76a4499c9f Introduce properties for option definitions 2023-03-31 17:37:48 +03:00
Matt Ellis
6d193ca1f8 Extract option definitions to own file 2023-03-31 17:37:48 +03:00
Matt Ellis
d932172e70 Extract option definitions to own class 2023-03-31 17:37:48 +03:00
Matt Ellis
9bbf5824fe Use lazy property delegate 2023-03-31 17:37:48 +03:00
Matt Ellis
d042ee3058 Move octopushandler option out of vim-engine 2023-03-31 17:37:48 +03:00
Alex Plate
0efd81142d
Remove ktlint from configurations 2023-03-31 11:22:41 +03:00
filipp
f4068301ff Add information about text range in original script for executable 2023-03-31 11:00:39 +03:00
Alex Plate
832c1c0be3
Revert "Update formatting"
This reverts commit bf0fba9c58.
2023-03-27 11:32:59 +03:00
Alex Plate
bf0fba9c58 Update formatting 2023-03-27 08:27:13 +00:00
Alex Plate
0f8b67e6ce
Reformat files 2023-03-27 11:14:00 +03:00
Alex Plate
f0505b8919
Fix(VIM-2433): Do not clear clipboard after inserting with ideaput 2023-03-17 13:26:13 +02:00
Alex Plate
edf9962abf
Introduce new mechanizm for options testing 2023-03-16 13:01:42 +02:00
Alex Plate
0510fe8530
Ktlint format 2023-03-16 10:52:52 +02:00
Alex Plate
6b76270d51
Reformat code 2023-03-15 07:59:25 +02:00
dependabot[bot]
35142e5204 Bump junit-jupiter-engine from 5.8.1 to 5.9.2
Bumps [junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.8.1 to 5.9.2.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.8.1...r5.9.2)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-14 18:28:02 +02:00
filipp
9454ebcb35 Move some methods to engine 2023-03-13 19:34:14 +02:00
Alex Plate
441721b63f
Reformat source code 2023-03-13 11:44:02 +02:00
Alex Plate
0eda85c95e
Enable explicitApiMode for vim-engine 2023-03-13 11:39:50 +02:00
Alex Plate
01e4c80adb
Remove traces of the experimental API 2023-03-13 10:29:09 +02:00
Alex Plate
0e8ec4d445
Set visibility for classes in vim-engine 2023-03-13 10:22:53 +02:00
Alex Plate
a0d3cf561b
Apply ktlint reformat 2023-03-13 08:43:52 +02:00
filipp
f385c3fa21 Fix(VIM-795): Ctrl-w + h doesn't alway work (window navigation to the left window) 2023-03-12 00:20:08 +02:00
filipp
7768c9147d Fix(VIM-2819): Move command works incorrectly 2023-03-11 20:01:55 +02:00
filipp
3ddd4a1a58 Fix(VIM-2868): Pasting in visual mode with P should not replace yank register like when pasting with p 2023-03-10 23:30:35 +02:00
filipp
2369814092 Fix(VIM-2884): Moving multiple lines in visual mode is not working 2023-03-10 22:48:16 +02:00
filipp
4c7c3dba00 Fix(VIM-2733): vim-surround emulation interacts incorrectly with unmatched quotes on previous lines 2023-03-10 21:20:18 +02:00
filipp
aebad12bbe Add some useful methods to work with strings 2023-03-10 20:39:13 +02:00
Alex Plate
8593e7a6ac
Small reformat of kotlin script 2023-03-10 19:03:35 +02:00
Alex Plate
119975c313
Remove experimental API 2023-03-10 18:30:07 +02:00
Alex Plate
27c3a95ec6
Provide visibility for some classes 2023-03-10 18:15:48 +02:00
Alex Plate
8066ac2819
Enable explicit api mode for vim-engine
But without fixes as there are 3000 violations
2023-03-10 13:23:24 +02:00
Alex Plate
88b3373e5c
Add option to enable octopus handler 2023-03-10 12:11:17 +02:00
Matt Ellis
c192f319d1 Simplify setting known options a little 2023-03-10 10:17:45 +02:00
Matt Ellis
097dfa06a6 Add a couple of convenience functions 2023-03-10 10:17:45 +02:00
Matt Ellis
90ca544d0a Move getter helpers out of the options interface
The interface now has a simple setter and getter, as well as other functions for managing options. More friendly functions for getting and setting values are available as extension functions
2023-03-10 10:17:45 +02:00
Matt Ellis
2bc9640b88 Remove last of 'set' validation code 2023-03-10 10:17:45 +02:00
Matt Ellis
40ffddf5ef Push toggle option validation into ':set' command 2023-03-10 10:17:45 +02:00
Matt Ellis
bd28c9da23 Push more ':set' command validation into command 2023-03-10 10:17:45 +02:00
Matt Ellis
11ef024779 Move ':set' command validation out of interface
Moves functions that require validation parameters to extension functions. Core interface should not require additional user facing paramter
2023-03-10 10:17:45 +02:00
Matt Ellis
40d9a201ea Use bundle for exception messages 2023-03-10 10:17:45 +02:00
Matt Ellis
6e2ac21fab Refactor getDefaultValue into property 2023-03-10 10:17:45 +02:00
Matt Ellis
7858cf57c6 Fix number operations for set command 2023-03-10 10:17:45 +02:00
Matt Ellis
91c8e7ebda Rename getOptionByNameOrAbbrev 2023-03-10 10:17:45 +02:00
Matt Ellis
6332ee6955 Remove unnecessary argument text 2023-03-10 10:17:45 +02:00
Matt Ellis
3c3014fdc6 Remove unused getAbbrevs function 2023-03-10 10:17:45 +02:00
Matt Ellis
d97e4c44ee Rename "token" and remove default argument 2023-03-10 10:17:45 +02:00
Matt Ellis
96c1094a61 Replace OptionService with VimOptionGroup
Leaves a skeleton, deprecated implementation of OptionService for existing external use by plugins
2023-03-10 10:17:45 +02:00
Matt Ellis
b3551b4ee5 Remove empty file 2023-03-10 10:17:45 +02:00
Matt Ellis
73b64c19ff Move OptionValueAccessor to options package 2023-03-10 10:17:45 +02:00
Matt Ellis
418067b077 Remove unused deprecated method
No external usages
2023-03-10 10:17:45 +02:00
Matt Ellis
88b29d1a14 Isolate and remove deprecated code
Moves ToggleOption to the proper package, leaving behind a skeleton class to keep ideavim-sneak and IdeaVim-EasyMotion happy.

Removes NumberOption and related number OptionsManager properties which are only used by which-key 0.6.2, because this plugin is already broken due to a separate API change. (The plugin is expecting the command trie to use `CommandPartNode<ActionBeanClass>`, but it's actually using `CommandPartNode<VimActionsInitiator>`). Also removes `ToggleOption.value`, used by which-key
2023-03-10 10:17:45 +02:00
Matt Ellis
4540d216cb Move StrictMode out of options package 2023-03-10 10:17:45 +02:00
Alex Plate
181d76ae7b
Improvements for octopus handler 2023-03-09 16:45:06 +02:00
filipp
72be9845fa Fix(VIM-2885): "v:searchforward" does't work for IdeaVim 2023-03-09 15:56:34 +02:00
filipp
a6a4e50479 Add ` mark to jumplist 2023-03-09 15:29:13 +02:00
filipp
8303cafbc9 Fix(VIM-2244): nnoremap mapping doesn't work correctly 2023-03-09 14:01:35 +02:00
filipp
21aaf06a63 Add split function 2023-03-08 19:21:02 +02:00
Alex Plate
0e96819e86
Update creation of execution context 2023-03-08 11:35:01 +02:00
filipp
b94b4eea04 Better per caret register storage 2023-03-07 22:31:08 +02:00
filipp
2c9aa8e30e FIX(VIM-2881): ReplaceRegister does no longer worker with MultiCursor 2023-03-07 17:24:19 +02:00
Alex Plate
5b636b2b5e
Perform code cleanup 2023-03-03 17:57:42 +02:00
Alex Plate
e788ea6d7f
Remove unused deprecated field 2023-03-03 17:57:41 +02:00
Dominic Palmer
dd69d0fad2 Prevent viewport displacement on undo 2023-03-01 17:41:59 +02:00
filipp
8fe6c8bde7 Jumps refactoring 2023-02-28 13:11:08 +02:00
Alex Plate
6e854eb889 Update formatting 2023-02-26 00:19:08 +00:00
filipp
aaf957a3c2 Fix(VIM-44): Unify navigation history between ideavim and idea 2023-02-24 14:44:53 +02:00
Alex Plate
b4764a230a
Fix small bug 2023-02-23 08:58:29 +02:00
Alex Plate
87083e03a8 Update formatting 2023-02-19 00:18:26 +00:00
Alex Plate
d49052660f
Fix(VIM-2315): Fix overlapping mappings execution 2023-02-15 10:09:37 +02:00
Alex Plate
f5299d4b75
Extract processing of the mappings into the separate file 2023-02-15 09:39:30 +02:00
Alex Plate
35b366640f
Fix compilation 2023-02-15 09:23:44 +02:00
filipp
933070fc32 Update formatting 2023-02-13 13:06:31 +02:00
filipp
ec80a20146 Rename method 2023-02-13 13:05:34 +02:00
filipp
cd46497829 Fix(VIM-282): Cursor line wrapping support (whichwrap) 2023-02-13 13:04:53 +02:00
Alex Plate
cb51a78509 Update formatting 2023-02-12 00:18:06 +00:00
filipp
6a52d0c83a Fix visual marks if put text with multiple carets 2023-02-07 19:28:37 +02:00
filipp
0accfbd65f Fix(VIM-1768): Delete surrounding character while in multiple cursors mode 2023-02-01 23:06:25 +02:00
filipp
6016aac675 Fix(VIM-2804): IdeaVim multiple-cursors copy and paste issue when "set clipboard+=unnamed" 2023-02-01 21:08:55 +02:00
Alex Plate
007a1694d7
Remove useless parameter 2023-02-01 19:50:48 +02:00
Alex Plate
cbf450425e
Add some docs 2023-02-01 19:45:19 +02:00
filipp
d577411e72 Fix(VIM-2850) 2023-01-27 00:20:40 +02:00
filipp
052fe75183 Fix dropLastJump 2023-01-23 13:02:35 +02:00
dependabot[bot]
5c7190710b Bump junit-jupiter-api from 5.8.1 to 5.9.2
Bumps [junit-jupiter-api](https://github.com/junit-team/junit5) from 5.8.1 to 5.9.2.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.8.1...r5.9.2)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 10:01:10 +02:00
Alex Plate
dd76de2066
Source vimrc in template only if it exists 2023-01-23 09:34:18 +02:00
Alex Plate
1a7e3ed658
Add some fixes 2023-01-23 08:53:24 +02:00
Alex Plate
484a1f264b Update formatting 2023-01-22 00:18:31 +00:00
filipp
e79821385d Remove caret from method signatures in CaretRegisterStorage 2023-01-20 17:24:28 +02:00
filipp
46f0309171 VIM-2840 Replace with register does not work with count 2023-01-20 16:33:16 +02:00
Matt Ellis
308e8bfbc3 Replace default interface methods with extensions 2023-01-18 17:47:32 +02:00
Matt Ellis
11fcb17c29 Replace appendValue with :set in tests 2023-01-18 17:47:32 +02:00
Matt Ellis
9c54fbe733 Migrate isSet to option value accessor API 2023-01-18 17:47:32 +02:00
Matt Ellis
9cc206d548 Introduce friendly API for consuming options 2023-01-18 17:47:32 +02:00
Matt Ellis
8d44afc8e6 Sort option name constants 2023-01-18 17:47:32 +02:00
Matt Ellis
62ed3bd7f2 Rename option name constants 2023-01-18 17:47:32 +02:00
Matt Ellis
89889924fc Tidy up imports 2023-01-18 17:47:32 +02:00
Matt Ellis
dda592cb39 Small refactor 2023-01-18 17:47:32 +02:00
Matt Ellis
bb44044956 Move IJ specific options out of engine 2023-01-18 17:47:32 +02:00
Matt Ellis
d95810f6e5 Sort options 2023-01-18 17:47:32 +02:00
Matt Ellis
26c275b0f5 Introduce UnsignedNumberOption 2023-01-18 17:47:32 +02:00
filipp
341dc6c58b Post-merge fixes 2023-01-17 16:15:34 +02:00
filipp
a2364b7512 Pull request polishing 2023-01-16 19:23:13 +02:00
filipp
d2c849fceb Post-merge fixes 2023-01-16 19:21:10 +02:00
filipp
c4e9d5d14f Multiple carets support for marks 2023-01-16 19:19:46 +02:00
filipp
9ab9d88eb5 VimJumpService implementation 2023-01-16 18:51:11 +02:00
filipp
75ff5feccd LastSelectionInfo now stores buffer positions instead of offset
Updating lastSelectionInfo after insertion & deletion
2023-01-16 18:51:11 +02:00
filipp
a4c7b38b7a Update formatting 2023-01-16 18:51:11 +02:00
filipp
ec86608aff Fix visual selection marks for the :move command 2023-01-16 18:51:11 +02:00
filipp
4010854075 Multicaret gv 2023-01-16 18:51:10 +02:00
filipp
fe1ae29fa3 Better selection marks 2023-01-16 18:40:31 +02:00
filipp
8c7d0b06d1 KeySorter for MarksCommand 2023-01-16 18:40:31 +02:00
filipp
af497e6906 Post-merge fixes 2023-01-16 18:40:30 +02:00
filipp
badb61aaea Move command no longer removes marks 2023-01-16 18:40:25 +02:00
filipp
5884919350 Fix mark order for marks command 2023-01-16 18:40:25 +02:00
filipp
ce77148a38 Multiple carets support for marks 2023-01-16 18:40:24 +02:00
Alex Plate
0ee6ce0a55
Remove some forEachCaret methods 2023-01-16 11:43:00 +02:00
Alex Plate
39f0e14fee
Remove one of the unused methods 2023-01-16 09:53:52 +02:00
Alex Plate
141af4f097
Remove one of for each methods 2023-01-12 10:19:11 +02:00
Alex Plate
35ef9c7e68
Update new .ideavimrc template 2023-01-12 09:27:07 +02:00
Alex Plate
908c978242
Global copyright update 2023-01-10 10:09:25 +02:00
Alex Plate
337c526e23
Fix(VIM-2833): Fix rare deadlock during put in insert mode from clipboard 2023-01-06 09:58:52 +02:00
Alex Plate
fb46993a05
Reformat sources 2023-01-06 09:26:05 +02:00
Alex Plate
ef2738838f
Update copyright rules 2023-01-06 09:26:05 +02:00
Alex Plate
6196417436
Fix minor issue with offsets 2023-01-06 09:26:04 +02:00
Matt Ellis
8d3ccdaf9c Extract scroll functionality into ScrollGroup 2023-01-06 09:22:08 +02:00
Matt Ellis
30d4b06393 Fix dangling doc comment 2023-01-06 09:22:08 +02:00
Alex Plate
e28ec93c80
Reformat project 2023-01-04 08:44:28 +02:00
Alex Plate
72ae18557b
Fix broken link in the code 2022-12-28 09:03:19 +02:00
Alex Plate
7f626005a5
Fix for the dd on last line in the notebook 2022-12-27 18:22:24 +02:00
Alex Plate
654a443d4b
Fix compatibility with plugins 2022-12-21 10:59:23 +02:00
Alex Plate
b154e31a28 Update formatting 2022-12-04 00:16:36 +00:00
Alex Plate
322b888dc5
Add update to the evolution 2022-12-02 12:03:58 +02:00
Alex Plate
42eefb763b
Add an editor to the action executor 2022-12-02 11:52:39 +02:00
Alex Plate
27be351636
Adopt immutable caret around the source code 2022-12-02 11:36:46 +02:00
Alex Plate
8b20287f93
Use immutable caret during put 2022-12-01 19:15:33 +02:00
Alex Plate
dcac3be0da
Pass editor to the message service 2022-12-01 14:29:54 +02:00
Alex Plate
ec121fb327
Adapt to immutable caret 2022-12-01 14:17:29 +02:00
Alex Plate
ccb260b6a7
Make showmode on by default as in vim 2022-12-01 14:14:57 +02:00
Alex Plate
c994511ea5
Add dashes to showcmd 2022-12-01 11:01:23 +02:00
Alex Plate
fb5177633a
More uses of ImmutableVimCaret 2022-12-01 08:38:52 +02:00
Alex Plate
743b978e6f
Update engine 2022-11-30 13:11:16 +02:00
Alex Plate
cbabd8b76e
Add new mapping mode set 2022-11-30 12:00:10 +02:00
Alex Plate
1fd877c597
Small refactoring of vim caret 2022-11-30 11:49:09 +02:00
Alex Plate
8db23fba43
Extract ImmutableVimCaret interface 2022-11-29 20:02:26 +02:00
Alex Plate
0451487549
Update engine to support immutable caret 2022-11-29 20:02:25 +02:00
Runinho
ceaf290f5e check offset, add test for put before guard 2022-11-29 08:44:13 +02:00
Runinho
5df9ae57ce Fix(VIM-2577) paste not working at end of notebook cell 2022-11-29 08:44:13 +02:00
Alex Plate
8ae35160e7
Move method to a different file 2022-11-28 18:25:11 +02:00
Alex Plate
650b925251
Refactor caret movement 2022-11-28 16:56:15 +02:00
Alex Plate
a8bebb88b1
Move vimLeadSelectionOffset to the engine 2022-11-28 13:19:16 +02:00
Alex Plate
3294a74979
Create vim engine evolution file 2022-11-25 17:06:45 +02:00
Alex Plate
db95804eeb
Move caret method now returns VimCaret instance
This is important for Fleet because the carets in Fleet are immutable
2022-11-25 16:53:19 +02:00
Alex Plate
98624d8701
Add method for carets 2022-11-25 13:39:38 +02:00
Alex Plate
9710a7bfc1
Small reformat of state machine 2022-11-25 13:35:29 +02:00
Alex Plate
34426ae32d
Pass editor to undo redo 2022-11-25 13:35:29 +02:00
Alex Plate
4df2abba82
Fix(VIM-758): Support d mappings 2022-11-25 13:11:13 +02:00
Alex Plate
4f6053f767
File cleanup 2022-11-25 09:31:34 +02:00
Matt Ellis
84a6c40e13 Fix incorrect normalising for trailing inlay 2022-11-23 12:02:55 +02:00
Alex Plate
368c840177
Supress warning 2022-11-22 09:54:36 +02:00
Alex Plate
7324ee5e8d Update formatting 2022-11-20 00:18:56 +00:00
Alex Plate
54c2299654
Remove several methods from VimCaret 2022-11-18 14:37:32 +01:00
Alex Plate
b2cfb6d6ed
Refactor visual mode entering 2022-11-18 13:08:27 +01:00
Alex Plate
e881bec45d
Move more change group methods to engine 2022-11-17 16:14:26 +01:00
Alex Plate
18eea7ca2d
Move change group methods to the engine 2022-11-17 16:03:41 +01:00
Alex Plate
316410a561
Move some methods from put group to the engine 2022-11-17 14:57:19 +01:00
Alex Plate
c243ae9cef
Add refactoring to simplify change group 2022-11-17 14:07:57 +01:00
Alex Plate
2722ee63cc
Move yank group to injector base 2022-11-17 14:07:57 +01:00
Matt Ellis
22e7fa1cf3 Add comments 2022-11-17 14:07:46 +01:00
Matt Ellis
101dc355ba Rename parameters in Mark and Jump 2022-11-17 14:07:46 +01:00
Matt Ellis
f5f3d0b827 Rename line parameters and variables
Buffer lines are just called "line", but visual lines (or where things are ambiguous) are explicitly named
2022-11-17 14:07:46 +01:00
Matt Ellis
53cb5d1fe9 Rename more logical position helper functions 2022-11-17 14:07:46 +01:00
Matt Ellis
0978ca616f Rename caret logical position helper functions 2022-11-17 14:07:46 +01:00
Matt Ellis
bbf42c0a28 Rename editor logical position helper functions 2022-11-17 14:07:46 +01:00
Matt Ellis
7df04c6e2e Rename VimLogicalPosition to BufferPosition 2022-11-17 14:07:46 +01:00
Alex Plate
309197781e
Fix some tests 2022-11-17 10:14:03 +01:00
Alex Plate
5a3ee970a0
Move editor helper functions to engine 2022-11-17 09:37:22 +01:00
Alex Plate
7cbe63e484
Move some editor functions to engine 2022-11-16 23:21:22 +01:00
Alex Plate
7eeca57135
A few fixes 2022-11-16 13:22:40 +01:00
Alex Plate
2162985e4a
Move more methods to engine 2022-11-16 13:05:59 +01:00
Alex Plate
5d53f4c13a
Move some methods from editor helper to engine 2022-11-16 12:37:03 +01:00
Alex Plate
b9fc58ec45
Move some methods to engine 2022-11-16 09:45:07 +01:00
Alex Plate
193a84dafd
Move method to engine 2022-11-16 09:43:53 +01:00
Alex Plate
3880a33208
Refactoring 2022-11-16 09:43:53 +01:00
Alex Plate
2edf897e39
Move getMotionRange to base method 2022-11-16 09:43:51 +01:00
Matt Ellis
27d1170c75 Move creating adjusted offset out of action 2022-11-16 09:41:59 +01:00
Matt Ellis
11c850a41e Remove unused property 2022-11-16 09:41:59 +01:00
Matt Ellis
ff4ee06a1f Remove unnecessary setting of vimLastColumn 2022-11-16 09:41:59 +01:00
Matt Ellis
0549f32d6e Remove unnecessary base class 2022-11-16 09:41:59 +01:00
Matt Ellis
c5ab3490b3 Remove preOffsetComputation hook
Cached intended column is invalidated and recalculated if the caret has moved (intentionally or outside IdeaVim's control)
2022-11-16 09:41:59 +01:00
Matt Ellis
50ba1a1c4e Simplify overloads 2022-11-16 09:41:59 +01:00
Matt Ellis
ee45d2fb38 Remove unused postMove hooks 2022-11-16 09:41:59 +01:00
Matt Ellis
a94822b79a Remove unused preMove hooks 2022-11-16 09:41:59 +01:00
Matt Ellis
b5aba454ae Remove more postMove overrides 2022-11-16 09:41:59 +01:00
Matt Ellis
a49631e986 Start to refactor postMove and intended column 2022-11-16 09:41:59 +01:00
Matt Ellis
bb31b5f2d3 Remove unused hooks for SingleExecution 2022-11-16 09:41:59 +01:00
Matt Ellis
8ad08d466e Refactor motion handler to combine caret move 2022-11-16 09:41:59 +01:00
Matt Ellis
ab31183a93 Regroup line motion functions 2022-11-15 10:34:12 +02:00
Matt Ellis
3257cc82dc Rename functions to indicate target motion
I.e. line number (currently buffer, should be Vim logical line), current line, or relative to current line
2022-11-15 10:34:12 +02:00
Matt Ellis
ef73733596 Remove unnecessary method from VimCaret 2022-11-15 10:34:12 +02:00
Matt Ellis
4b45d4cf09 Group VimCaret related functions and properties 2022-11-15 10:34:12 +02:00
Matt Ellis
e0b3e1db24 Move StrictMode to engine 2022-11-15 10:34:12 +02:00
Matt Ellis
e0b51d653a Move action to correct package 2022-11-15 10:34:12 +02:00
Matt Ellis
c17ebbf4d7 Rename various scroll functions 2022-11-15 10:34:12 +02:00
Matt Ellis
44a26d59a4 Rename screen line functions to "display" 2022-11-15 10:34:12 +02:00
Matt Ellis
6b8f81f7eb Rename screen column functions to "display"
Two reasons:
1. It is good if the engine uses Vim terminology. A "screen" in Vim includes all window/display lines from all windows in the terminal screen, including the status and command line. IntelliJ doesn't have this concept. A display line is most similar to IntelliJ's visual lines, but describes the window/display's character grid, not the buffer contents.
2. moveCaretToMiddleColumn needs renaming to indicate that it's for a display line, not a logical line, and to make way for an implementation of `gM`, which does work on logical lines
2022-11-15 10:34:12 +02:00
Matt Ellis
9a4b9419eb Rearrange VimMotionGroup to group related functions
No code changes
2022-11-15 10:34:12 +02:00
Alex Plate
7791c0b7be
Get rid of runForEachCaret in DeleteJoinLinesAction 2022-11-08 13:45:21 +02:00
Alex Plate
3df637b265
Remove macrodelay option 2022-11-08 09:42:11 +02:00
Alex Plate
ea220d2514 Update formatting 2022-11-06 00:20:06 +00:00
Alex Plate
2355435275
Update copyright 2022-11-04 09:24:03 +02:00
Alex Plate
05852b07c6
Refactor commands output 2022-11-01 19:47:27 +02:00
Alex Plate
19a6284023
Update kotlin version to 1.7.20 2022-10-28 08:16:10 +03:00
Matt Ellis
45908f2a84 Remove unnecessary scroll method 2022-10-28 08:15:32 +03:00
Alex Plate
013f7a42c2
[VIM-2774] Move visual toggle mode to another handler 2022-10-18 16:38:40 +03:00
Alex Plate
d03398f3e8
[VIM-2774] Move reset mode to another handler 2022-10-18 16:38:40 +03:00
Alex Plate
7a26307a2b
[VIM-2774] Move caret swap to runForEachCaret 2022-10-18 16:38:40 +03:00
Alex Plate
fa6a0369b8
[VIM-2774] Remove runforEachCaret for other method 2022-10-18 16:38:40 +03:00
Alex Plate
ad8cb0ba09
[VIM-2774] Add conditional multicaret handler 2022-10-18 16:38:39 +03:00
Alex Plate
d3424021c8
Fix(VIM-2768): Refactor listeners 2022-10-17 17:39:40 +03:00
filipp
6e0f301fb8 Fix(VIM-2757) Wrong gv behavior 2022-09-22 04:08:39 +03:00
filipp
c76b8db293 Fix(VIM-2718) Copied value is not inserted 2022-09-21 03:00:53 +03:00
Alex Plate
871b60fe8d
Revert "[New Typing Handler]: Switch j command to new typing handler"
This reverts commit 43a79dba
2022-09-12 09:30:22 +03:00
Alex Plate
6715a5b61f
Revert "[New Typing Handler]: Support d"
This reverts commit c32c62ea
2022-09-12 09:29:46 +03:00
Alex Plate
9f00dbd6f4 Update formatting 2022-09-11 00:19:01 +00:00
filipp
7fbc17624f Fix(VIM-2718): Fixed case where the primary caret was changed 2022-09-11 00:24:06 +03:00
Alex Plate
c32c62eacc
[New Typing Handler]: Support d 2022-09-06 13:13:31 +03:00
Alex Plate
43a79dbad4
[New Typing Handler]: Switch j command to new typing handler 2022-09-05 15:22:10 +03:00
Alex Plate
da8f5f3231
Fix handler call from put command 2022-08-23 15:26:58 +03:00
Alex Plate
f8fa8b73fa
Move some methods to vim engine 2022-08-23 15:26:55 +03:00
Alex Plate
81816f903f Update formatting 2022-08-21 00:17:52 +00:00
Alex Plate
7f1e3bb155
Fix(VIM-1758): Commentary plugin in rider 2022-08-17 10:13:04 +03:00
Alex Plate
9498d0779c
Revert "Refactoring IdeaVim to use editor actions instead of registering shortcuts in the editor"
This reverts commit b12fd5100f.
2022-08-15 18:59:35 +03:00
Alex Plate
b12fd5100f
Refactoring IdeaVim to use editor actions instead of registering shortcuts in the editor 2022-08-15 18:42:32 +03:00
Alex Plate
12903066b9
Workaround for VIM-2487 2022-08-12 09:45:07 +03:00
Alex Plate
118d0433cb
Fix(VIM-2728): Give access to global variables 2022-08-12 09:45:07 +03:00
filipp
3c6bffba03 Fix(VIM-749) 2022-08-11 03:27:19 +03:00
Alex Plate
2dae43258c
Skip unsupported arguments in command
VIM-2720
2022-08-04 20:08:13 +03:00
Alex Plate
0d168c8115 Update formatting 2022-07-24 00:20:23 +00:00
Alex Plate
33d3f270a3
Fix(VIM-2710): Show options value on set opt 2022-07-20 09:56:23 +03:00
filipp
da94edd386 Fix(VIM-2703) 2022-07-20 02:51:45 +06:00
Alex Plate
97f5c9225e
Cleanup the sources 2022-07-08 11:24:10 +03:00
Alex Plate
09b86c15f9
Fix missing space 2022-07-08 10:59:02 +03:00
Alex Plate
8f34285d8c
Fix issues with notations 2022-07-08 10:55:21 +03:00
Alex Plate
d3c3b71e3e
Remove unnecessary libraries from the distribution 2022-07-08 10:29:51 +03:00
Alex Plate
aa6f49c9b1
Reformat code 2022-07-08 10:00:00 +03:00
Alex Plate
c011628420
Reformat code 2022-07-08 09:14:43 +03:00
Alex Plate
7b9bc64364
Fix multicaret insert 2022-07-07 14:54:41 +03:00
Alex Plate
729062bfdd
Turn on ideadelaymacro by default 2022-07-07 14:36:04 +03:00
Alex Plate
0746dcc686
Fix some neovim tests 2022-07-06 19:41:05 +03:00
Alex Plate
3cf8ae52ed
Add link to the docs 2022-07-06 09:30:25 +03:00
Alex Plate
1791692d92
Use java boolean 2022-07-05 12:26:16 +03:00
Alex Plate
ba23c9ab5e
Rename variable service 2022-07-05 11:27:53 +03:00
Alex Plate
f96ab37bcb
Rename Scope 2022-07-05 11:04:08 +03:00
Alex Plate
0da34bbb34
Compatibility of toggleOption 2022-07-05 10:56:45 +03:00
Alex Plate
51e7c745ea
Move number option to a different package 2022-07-05 10:26:14 +03:00
Alex Plate
7eae7a98e8
Command state compatibility 2022-07-05 10:05:02 +03:00
Alex Plate
6cd1a60b53
More compatibility 2022-07-04 10:33:31 +03:00
Alex Plate
a7d5372d06
Move classes to a different package 2022-07-04 09:49:50 +03:00
filipp
6115adb72e Add registers to carets 2022-07-02 18:51:10 +06:00
Alex Plate
6c0a52155b
Add compatibility method 2022-07-01 16:36:30 +03:00
Alex Plate
c7ebce39bf
Make options compatible 2022-07-01 16:10:13 +03:00
Alex Plate
a0dc7a792f
Add more compatibility methods 2022-07-01 15:55:07 +03:00
Alex Plate
fdb09a8f1f
Use vim-engine kotlin settings 2022-07-01 12:18:53 +03:00
Alex Plate
f7b948fee2
Add CommandState compatibility layer and rename our main CommandState to VimStateMachine 2022-07-01 09:04:27 +03:00
Alex Plate
81482bd298
Add more compatibility changes 2022-06-29 11:25:11 +03:00
Alex Plate
b8373af69f
Move MappingMode to a different package 2022-06-29 09:54:49 +03:00
Alex Plate
e99b2ee73d
Add new method for compatibility 2022-06-29 09:54:49 +03:00
filipp
38292e97af Fix context for function argument evaluation 2022-06-24 03:13:07 +06:00
Alex Plate
9eaf8b5d2d
Move some other methods to vim-engine 2022-06-22 18:36:08 +03: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
5c794ac40e Fix(VIM-749) Support for :let command 2022-06-18 06:21:26 +06:00
filipp
8a98f46235 Move mapDepth to MappingState 2022-06-15 16:22:31 +06:00
Alex Plate
5b94276836
Move more methods to vim-engine 2022-06-15 12:58:15 +03: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
Alex Plate
11d9ef7507
Partially move change group to vim-engine 2022-06-14 10:31:23 +03:00
Alex Plate
072449825c
Fix(VIM-2675): Fix numbering register in visual mode 2022-06-13 12:53:05 +03:00
Alex Plate
8235a649a1
Move VisualMotionGroup to vim-engine 2022-06-13 12:53:05 +03:00
Alex Plate
350e9cfca2
Fix(VIM-2595): Support plugins in macro execution 2022-06-10 15:27:03 +03:00
Alex Plate
5639edf173
Refactor mapping stack 2022-06-10 15:27:03 +03:00
Alex Plate
f72313df9c
Fix(VIM-2671): Fix using plugins from mappings 2022-06-10 15:27:03 +03: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
Alex Plate
fe66d06ce2
Move VimMark to vim-injector 2022-06-08 12:06:45 +03:00
Alex Plate
a6a39d249b
Move key group to vim-engine 2022-06-07 15:53:31 +03:00
Alex Plate
518784c371
Use ShortcutOwnerInfo in savedShortcuts 2022-06-07 15:53:30 +03:00
filipp
6355d7765e Add documentation to OptionService.kt and fix some exception messages 2022-06-07 03:59:23 +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
Alex Plate
ccf48d1e53
Add some more notes to injector about it's status 2022-06-01 13:59:51 +03:00
Alex Plate
d7a74fdf5e
Mark the states of the injector 2022-05-31 10:44:00 +03:00
Alex Plate
462c1bc75e
Fix resetting the modes to empty state 2022-05-31 10:20:31 +03:00
filipp
11c80b2ea9 Fix cast :action mappings to <Action> 2022-05-30 16:22:40 +06:00
Alex Plate
f3b6687d79
Update kotlin version 2022-05-30 11:22:24 +03:00
Alex Plate
7332cd1ed1
Start implementing Troubleshooter 2022-05-30 09:52:11 +03:00
Alex Plate
7726f4347b
Unmap removed mappings after using ReloadVimRc action 2022-05-30 09:52:11 +03:00
filipp
f3b4933ef2 Fix number options 2022-05-25 19:33:40 +06:00
Alex Plate
c6fdf9cdf4
[VIM-2643]: Implement a redo-register feature 2022-05-25 11:30:55 +03:00
Alex Plate
831e4e8c42
Fix services initialization in VimInjectorBase 2022-05-24 13:49:01 +03: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
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
Alex Plate
b82f1e6602
Move more classes to vim-engine 2022-04-27 10:40:44 +03:00
Alex Plate
4104258219
Move playbackregister to vim-engine 2022-04-26 14:21:10 +03:00
Alex Plate
11054f908b
Move some classes from file package to vim-engine 2022-04-26 10:02:23 +03:00
Alex Plate
62c79e1470
Move yank package to vim-engine 2022-04-25 09:45:48 +03:00
Alex Plate
1a99918819
Move some put actions to vim-engine 2022-04-25 09:45:48 +03:00
Alex Plate
7e3a9e0b38
Move window actions to vim-engine 2022-04-25 09:45:48 +03:00
Alex Plate
330d64c7cb
Move mark package to vim-engine 2022-04-19 18:43:33 +03:00
Alex Plate
673e43dd77
Move scroll package to vim-engine 2022-04-19 10:20:15 +03:00
Alex Plate
c2c5c60899
Move select package to vim-engine 2022-04-19 09:56:38 +03:00
filipp
e617fc4c34 Move some classes from vimscript package to engine 2022-04-10 15:57:46 +06:00
Alex Plate
48820d4dff
Fix compilation 2022-04-08 09:54:52 +03:00
filipp
a9fd32f64e Move some actions from change.insert 2022-04-07 23:49:18 +06:00
filipp
da7a2226d4 Move actions from change.shift 2022-04-07 23:49:18 +06:00
filipp
44b37339dc Moved actions from change.delete 2022-04-07 23:49:18 +06:00
filipp
713c3f0a3c Moved some actions from change.change package 2022-04-07 17:50:10 +06:00
Alex Plate
4ecfb796d4
Move some classes of scroll package to vim-engine 2022-04-04 23:53:14 +03:00
Alex Plate
de9fa81da3
Move objects to vim-engine 2022-04-04 23:53:14 +03:00
Alex Plate
351e3b15ea
Move leftright package to vim-engine 2022-04-04 22:48:41 +03:00
Alex Plate
2b9b48ac2f
Split PutGroup into base class 2022-04-03 23:48:21 +03:00
Alex Plate
7c4ac5f561
Move toggle recording to vim-engine 2022-04-03 23:39:41 +03:00
Alex Plate
276ad276ec
Move few more classes to vim-engine 2022-03-30 18:44:38 +03:00
Alex Plate
83da2d304e
Move some actions to vim-engine 2022-03-30 18:36:32 +03:00
Alex Plate
6ddc40d080
Move folder actions to vim-engine 2022-03-30 13:52:27 +03:00
Alex Plate
42fb5487e5
Move gn package to vim-engine 2022-03-30 13:48:06 +03:00
Alex Plate
1ce35ac233
Move updown package to vim-engine 2022-03-30 13:20:40 +03:00
Alex Plate
2734202e12
Move visual package to vim-engine 2022-03-29 19:10:19 +03:00
Alex Plate
6a31fd2732
Move text package to vim-engine 2022-03-29 17:54:17 +03:00
Alex Plate
5d84aa6939
Move some actions to engine 2022-03-29 17:43:43 +03:00
Alex Plate
7173b7960d
Move MotionSentenceEndAction to vim-engine 2022-03-29 16:17:14 +03:00
Alex Plate
bb1c30d6c8
Move paragraph action to vim-engine 2022-03-29 15:01:11 +03:00
Alex Plate
d70abf6e27
Move an action to a different module 2022-03-29 14:48:43 +03:00
Alex Plate
c4254dc6dd
Refactor history group 2022-03-29 11:08:21 +03:00
Alex Plate
d73cb274b4
Refactoring of some methods 2022-03-28 18:06:05 +03:00
Alex Plate
3686f0eb24
Update some usages 2022-03-28 16:10:58 +03:00
Alex Plate
3784f1957f
Some refactoring of change group 2022-03-28 16:09:25 +03:00
Alex Plate
69fd8d68af
Small refactoring of change group 2022-03-28 16:09:25 +03:00
Alex Plate
301d72c169
Refactor Direction class 2022-03-28 16:09:24 +03:00
Alex Plate
ca11974b12
Move all methods to the base class 2022-03-28 16:09:24 +03:00
Alex Plate
56afa6d564
Move some methods of marks group to engine 2022-03-26 01:38:03 +03:00
Alex Plate
8ecac1a8cf
Start moving mark group to vim-engine 2022-03-26 01:05:05 +03:00
Alex Plate
f742e414e6
Extract vim mark constants into the separate file 2022-03-25 16:44:10 +03:00
Alex Plate
c462af2d10
Small refactoring 2022-03-25 16:22:39 +03:00
Alex Plate
66ede93d95
Close some fields of VimRegisterGroupBase.kt 2022-03-25 16:21:50 +03:00
Alex Plate
c97f5be3fa
Small refactoring of VimRegisterGroupBase.kt 2022-03-25 16:11:08 +03:00
Alex Plate
c4d35849fd
Move listener to base 2022-03-25 15:30:45 +03:00
Alex Plate
88c191bc61
Move some methods from RegisterGroup to clipboard 2022-03-24 18:07:13 +03:00
Alex Plate
a1e6318bce
Move register classes into the separate package 2022-03-24 17:42:03 +03:00
Alex Plate
3606f5ea14
Move a lot of methods to RegisterBase 2022-03-24 17:07:23 +03:00
Alex Plate
38c3b206e2
Move a method to RegisterGroupBase 2022-03-24 16:21:04 +03:00
Alex Plate
e69bf9760d
Move a method to RegisterGroupBase 2022-03-24 16:08:21 +03:00
Alex Plate
0b763e23cf
Move Register to vim-engine 2022-03-24 14:39:13 +03:00
Alex Plate
a78782b73a
Extract VimClipboardManager 2022-03-24 14:17:10 +03:00
Alex Plate
54df803ee1
Move some code from register group to base class 2022-03-23 19:32:03 +03:00
Alex Plate
2819b782c9
Move isCloseKeyStroke to extension method 2022-03-23 19:00:37 +03:00
Alex Plate
38c12660b0
Update usages of vimLogger 2022-03-23 18:40:48 +03:00
Alex Plate
3917a8c5e3
Move KeyHandler to vim-engine 2022-03-22 19:20:17 +03:00
Alex Plate
17c642d5ed
Move some classes to vim-engine 2022-03-22 19:17:31 +03:00
Alex Plate
2d84e2d788
Move argument capturing to vim engine 2022-03-22 19:09:09 +03:00
Alex Plate
ca19d2bfd5
Move injector fully to vim-engine 2022-03-22 16:20:28 +03:00
Alex Plate
cd56fb87d0
Rename .java to .kt 2022-03-22 16:20:27 +03:00
Alex Plate
7290edd3ae
Move all members of injector to vim-engine 2022-03-22 15:47:34 +03:00
Alex Plate
8d4e9b8514
Move VimChangeGroup to vim-engine 2022-03-22 15:46:20 +03:00
Alex Plate
db87b51784
Move some base classes to vim-engine 2022-03-22 15:44:33 +03:00
Alex Plate
96dc9af1e3
Move NativeActionManager to injectorBasfe 2022-03-22 12:36:32 +03:00
Alex Plate
a453cb2582
Move DigraphSequence to vim-engine 2022-03-21 19:04:33 +03:00
Alex Plate
b0d53330bb
Move some classes to vim-engine 2022-03-21 19:04:33 +03:00
Alex Plate
99ebcacf31
Extract injector base for easier refactoring 2022-03-21 19:04:33 +03:00
Alex Plate
3ec90194d7
Move VimStringParser.kt to a different package 2022-03-21 19:04:33 +03:00
Alex Plate
7276bc49a7
Move runWrite/Read actions to VimApplication 2022-02-28 12:00:05 +03:00
Alex Plate
5b360b6de2
Move ExException to vim-engine 2022-02-28 12:00:05 +03:00
Alex Plate
8e2783962f
Move OptionService to vim-engine 2022-02-28 12:00:04 +03:00
Alex Plate
866b319c5b
Move VimDataType to vim-engine 2022-02-28 12:00:04 +03:00
Alex Plate
b2a2299347
Move OptionListener to vim-engine 2022-02-28 11:59:36 +03:00
Alex Plate
905862ab9f
Move some classes to vim-engine 2022-02-28 11:58:44 +03:00
Alex Plate
5c307fd22c
Rename .java to .kt 2022-02-28 11:58:43 +03:00