Mia Vucinic
a283ee02ab
rename VimPluginScope to VimScope
2025-07-21 21:05:43 +02:00
Mia Vucinic
5ca3af6643
remove VimBehaviorDiffers annotation from tests where that is no longer the case
2025-07-21 21:05:43 +02:00
Mia Vucinic
08d0bcd6ec
fix tests to match vim behavior
2025-07-21 21:05:43 +02:00
Mia Vucinic
8ea9b29e5e
first api draft
2025-07-21 21:05:43 +02:00
Matt Ellis
7d44c87873
Move ex prompt character out of API
...
The prompt character is now implemented as a custom view, only in the UI, and not inserted directly into the text. This simplifies management of the text (and removes/fixes an exception due to manually handling prompt offset), and also allows highlighting of the prompt character.
2025-07-21 18:43:28 +03:00
Matt Ellis
b67c3d7bab
Add extra logging details
...
Randomly hit this condition, but don't know how
2025-07-21 18:43:28 +03:00
Matt Ellis
261b910845
Add tests for rendering control characters
2025-07-21 18:43:28 +03:00
Matt Ellis
ac15372901
Use actualText instead of visibleText
2025-07-21 18:43:28 +03:00
Matt Ellis
2a603a681c
Simplify implementation of VimInputInterceptor
2025-07-21 18:43:28 +03:00
Matt Ellis
a208ad7598
Remove unnecessary ex cmdline without shortcuts
...
We don't need a secondary UI element hierarchy without shortcuts because the shortcuts are no longer handled by the UI, but by the key handler. This secondary instance was used by modal input, and this is also managed by the key handler, consuming key strokes first if a modal input prompt is active
2025-07-21 18:43:28 +03:00
Matt Ellis
dde287073e
Only create modal input panel when needed
2025-07-21 18:43:28 +03:00
Matt Ellis
0e07f0c78e
Show special keys in a different colour
...
Mimics Vim's `SpecialKey` highlight. Currently uses IntelliJ's "Whitespaces" colour, which seems like the best fit.
2025-07-21 18:43:28 +03:00
Matt Ellis
c0f412547f
Maintain narrow caret width for non-printable chars
2025-07-21 18:43:28 +03:00
Matt Ellis
ddf1612d11
Fix scrolling issues editing long command lines
...
Instead of replacing the whole string, which will reset scroll position, delete or insert the required text/offsets, and let the text field manage scroll position
2025-07-21 18:43:28 +03:00
Matt Ellis
bf32c5d5b5
Render control characters in ex cmdline
2025-07-21 18:43:28 +03:00
Matt Ellis
6e6cd722d4
Support insertion of control chars in command line
...
Fixes VIM-3907, fixes VIM-239
2025-07-21 18:43:28 +03:00
Matt Ellis
356b4ed8c4
Remove unnecessary mouse listener
2025-07-21 18:43:28 +03:00
Matt Ellis
84a3d0457d
Simplify and document keymap handling
...
All key handling is done with the Vim pipeline, so make sure we don't have any Swing key bindings registered. This is quite confusing, so document what's going on
2025-07-21 18:43:28 +03:00
Matt Ellis
d4f4f7661c
Remove unnecessary action registration
...
We don't have any custom actions, so there's nothing to register
2025-07-21 18:43:28 +03:00
Matt Ellis
0e9c3d9d87
Replace constants with enum
2025-07-21 18:43:28 +03:00
Matt Ellis
654b95147b
Simplify command line keystroke dispatching
...
Pass the keystroke to the key handler directly rather than relying on the superclass to call a default action handler that would do the dispatching
2025-07-21 18:43:28 +03:00
Matt Ellis
a2fb8acd47
Remove obsolete ExShortcutKeyAction
...
All CMD_LINE actions are registered the same as other Vim commands, which means all shortcuts are already registered with the IDE's action system. The existing VimShortcutKeyAction class will dispatch shortcuts to the key handler, where they will be handled as real CMD_LINE actions.
2025-07-21 18:43:28 +03:00
Matt Ellis
b284deb1b7
Extract some state and accessors out of text field
...
Encapsulate text field a little better
2025-07-21 18:43:28 +03:00
Matt Ellis
56e6ecca89
Update history command and add tests
2025-07-21 18:43:28 +03:00
Matt Ellis
055a3bc910
Remove deprecated and unused history related code
2025-07-21 18:43:28 +03:00
Matt Ellis
e2b50809ac
Fix warning of renamed parameter
2025-07-21 18:43:28 +03:00
Matt Ellis
40ff54c47f
Remove non-Vim key bindings from ex command line
...
Shift+Insert and Alt+V for paste. These are non-standard, not documented and can be added with `cmap` if required
2025-07-21 18:43:28 +03:00
Matt Ellis
1638bc304d
Improve input method highlighting in ex field
2025-07-21 18:43:28 +03:00
Alex Plate
f12b0b04f6
Fix the contribution name of Jakub
2025-07-18 16:06:45 +03:00
Alex Plate
ea4fc85e5b
Add a new plugin for the verification
2025-07-18 16:04:00 +03:00
Alex Plate
4af8fc1868
Update TC configuration to run only needed tests
2025-07-18 16:04:00 +03:00
Alex Plate
1482ac0335
Fix(VIM-3970): Get rid of VimStandalonePluginUpdateChecker
2025-07-18 16:03:59 +03:00
IdeaVim Bot
79168b00f3
Add zuberol to contributors list
2025-07-18 09:03:36 +00:00
zuberol
07990847c6
Merge pull request #1223 from JetBrains/feat/VIM-3791-nerdtree-gg-G-jumps
...
Feat(VIM-3791): support for "G" and "gg" motions inside the NERDtree
2025-07-17 11:44:07 +02:00
dependabot[bot]
8c40e19c44
Bump org.mockito.kotlin:mockito-kotlin from 5.4.0 to 6.0.0
...
Bumps [org.mockito.kotlin:mockito-kotlin](https://github.com/mockito/mockito-kotlin ) from 5.4.0 to 6.0.0.
- [Release notes](https://github.com/mockito/mockito-kotlin/releases )
- [Commits](https://github.com/mockito/mockito-kotlin/compare/5.4.0...v6.0.0 )
---
updated-dependencies:
- dependency-name: org.mockito.kotlin:mockito-kotlin
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-16 19:15:13 +03:00
dependabot[bot]
371769c508
Bump io.ktor:ktor-client-cio from 3.2.1 to 3.2.2
...
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor ) from 3.2.1 to 3.2.2.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.2.1...3.2.2 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
dependency-version: 3.2.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-16 19:14:55 +03:00
dependabot[bot]
7ee34d0b27
Bump io.ktor:ktor-client-cio from 3.2.0 to 3.2.1
...
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor ) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.2.0...3.2.1 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
dependency-version: 3.2.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-09 18:57:15 +03:00
dependabot[bot]
d1ec7d617d
Bump org.junit.jupiter:junit-jupiter-engine from 5.13.2 to 5.13.3
...
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit-framework ) from 5.13.2 to 5.13.3.
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.2...r5.13.3 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-version: 5.13.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-09 18:56:55 +03:00
dependabot[bot]
898fd0537d
Bump org.junit.jupiter:junit-jupiter from 5.13.2 to 5.13.3
...
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework ) from 5.13.2 to 5.13.3.
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.2...r5.13.3 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
dependency-version: 5.13.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-09 18:56:22 +03:00
Xinhe Wang
353603b546
Fix(VIM-3266): Set FileSaveCloseAction
to OTHER_SELF_SYNCHRONIZED
2025-07-07 10:55:53 +03:00
Xinhe Wang
2f7f0dcacb
Fix(VIM-3044): correct the behavior of I
in (linewise) Visual mode
...
For visual selections spanning multiple lines, keep caret position
if it's on the first line. Otherwise move the caret to the start of
the first selected line.
2025-07-07 10:55:30 +03:00
Xinhe Wang
af9023af4b
Rename insertBeforeCursor
and insertAfterCursor
helpers
...
The terminology used in IntelliJ is "caret".
2025-07-07 10:55:30 +03:00
Xinhe Wang
c393c902b2
Fix(VIM-2375): do not save file with ZQ
...
ZQ is defined to `Quit without checking for changes (same as ":q!").`
2025-07-04 14:26:56 +03:00
Xinhe Wang
c355cb7ed7
Make VimChangeGroup::changeCaseMotion
not accept non-Motion
argument
...
Error is logged if `ChangeCaseMotion` actions receive non-`Motion` args
2025-07-03 17:25:38 +03:00
Xinhe Wang
0803a1c195
Fix(VIM-2413): correct the range of line-wise case change commands
...
The start of the range is the leftmost non-whitespace character
OR the current position, whichever is closer to the left.
2025-07-03 17:25:38 +03:00
Xinhe Wang
5208412b46
Refine Argument.Motion::isLineWiseMotion
and VimMotionGroupBase::getMotionRange
...
This does not change any actual behavior.
2025-07-03 17:25:38 +03:00
IdeaVim Bot
78c463cf7b
Add Xinhe Wang to contributors list
2025-07-03 09:02:01 +00:00
dependabot[bot]
8f5a44bf44
Bump org.junit.vintage:junit-vintage-engine from 5.13.1 to 5.13.2
...
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework ) from 5.13.1 to 5.13.2.
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.1...r5.13.2 )
---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
dependency-version: 5.13.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-02 19:19:55 +03:00
Xinhe Wang
2377408028
Fix(VIM-2142): support gU
and gu
in VISUAL mode
...
Note that this implementation assumes that the 'gU' / 'gu' command in
visual mode is equivalent to 'U' / 'u'. While 'v_gU' and 'v_gu' are not
explicitly documented in Vim help, we treat these commands as identical
based on observed behavior, without examining Vim's source code.
2025-07-02 18:56:29 +03:00
Alex Plate
246425b1fb
Mark IdeaVim as a plugin that supports vim configuration
...
In this way, we'll be able to actively promote IdeaVim as a suggested plugin in the IDE.
GO-17806
2025-06-27 19:43:08 +03:00