Commit Graph
1951 Commits
Author SHA1 Message Date
Matt EllisandAlex Pláte a1f66061e3 Extract option storage to separate class 2024-01-04 15:58:36 +02:00
Matt EllisandAlex Pláte d8811933c9 Simplify resetting options for testing 2024-01-04 15:58:36 +02:00
Matt EllisandAlex Pláte c9864dde8d Extract parsed values cache 2024-01-04 15:58:36 +02:00
Matt EllisandAlex Pláte ca849d6649 Simplify API of OptionListenersImpl 2024-01-04 15:58:36 +02:00
Matt EllisandAlex Pláte 95a2354a86 Fix issue where global value wasn't properly set 2024-01-04 15:58:36 +02:00
Matt EllisandAlex Pláte 538e0ac48c Extract listener notification
Refactoring - no intentional changes in behaviour
2024-01-04 15:58:36 +02:00
Matt EllisandAlex Pláte cbe0f89548 Extract listener registration to separate class
Refactoring - no intentional changes in behaviour
2024-01-04 15:58:36 +02:00
Matt EllisandAlex Pláte 615b071dcb Rename methods for clarity 2024-01-04 15:58:36 +02:00
Filipp VakhitovandAlex Pláte fc46acb2e4 Move to concurrent list 2024-01-03 12:15:31 +02:00
Filipp VakhitovandAlex Pláte 2f20193086 Post-review improvements 2024-01-03 12:15:31 +02:00
Filipp VakhitovandAlex Pláte e02d34f023 Better ShowMode widget & Macro recording widget 2024-01-03 12:15:31 +02:00
filippandAlex Pláte 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 EllisandAlex Pláte 8ab43e98fe Remove unnecessary keeping visual mode flag
The value was only ever set to false.
2023-12-22 10:55:00 +02:00
Matt EllisandAlex Pláte 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 EllisandAlex Pláte 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 EllisandAlex Pláte 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 EllisandAlex Pláte 155de2b396 Remove always true check and always exit visual 2023-12-22 10:55:00 +02:00
Matt EllisandAlex Pláte 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 EllisandAlex Pláte 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]andgithub-actions[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]andgithub-actions[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]andgithub-actions[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