Commit Graph
1433 Commits
Author SHA1 Message Date
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
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 EllisandAlex Pláte 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 EllisandAlex Pláte c37e2f4176 Update fallback window when all windows close 2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte 32b8d03c5e Improve modifying string and string list options 2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte 71f3e1b4f1 Support per-window global values
For local-to-window options
2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte aa6f53fa68 Require editor when getting/setting global option 2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte 700198d8bc Remove test only vimscript execute method 2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte 3efab5928e Evaluate ideavimrc in the fallback window context 2023-09-11 11:04:09 +03:00