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
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
dependabot[bot]
d3c945cd6d
Bump org.junit.jupiter:junit-jupiter-api from 5.13.1 to 5.13.2
...
Bumps [org.junit.jupiter:junit-jupiter-api](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.jupiter:junit-jupiter-api
dependency-version: 5.13.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-25 19:35:31 +03:00
Alex Plate
ddea72f803
Update kotlin version to 2.2.0
...
This is required to support IJ 2025.2 platform, which uses 2.2.0 for compilation.
2025-06-25 17:23:54 +03:00
dependabot[bot]
5ffaa7b084
Bump org.junit.jupiter:junit-jupiter-api from 5.13.0 to 5.13.1
...
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5 ) from 5.13.0 to 5.13.1.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.13.0...r5.13.1 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 5.13.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-18 19:10:53 +03:00
dependabot[bot]
3149de7b73
Bump org.junit.vintage:junit-vintage-engine from 5.13.0 to 5.13.1
...
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit5 ) from 5.13.0 to 5.13.1.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.13.0...r5.13.1 )
---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
dependency-version: 5.13.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-11 18:30:27 +03:00
dependabot[bot]
5b1aade876
Bump org.junit.jupiter:junit-jupiter-engine from 5.13.0 to 5.13.1
...
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5 ) from 5.13.0 to 5.13.1.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.13.0...r5.13.1 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-version: 5.13.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-11 18:29:52 +03:00
Thomas Canava
30c972ee1e
fix: Vim macro not working with arrows
2025-06-06 15:34:44 +03:00
Matt Ellis
1e3738314a
Add support for := to print line number
...
Fixes VIM-3921
2025-06-06 15:15:13 +03:00
dependabot[bot]
f47388175b
Bump org.junit.jupiter:junit-jupiter-api from 5.12.2 to 5.13.0
...
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5 ) from 5.12.2 to 5.13.0.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.2...r5.13.0 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 5.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-04 19:40:36 +03:00
dependabot[bot]
d09592824c
Bump org.junit.jupiter:junit-jupiter-engine from 5.12.2 to 5.13.0
...
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5 ) from 5.12.2 to 5.13.0.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.2...r5.13.0 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-version: 5.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-04 19:06:27 +03:00
dependabot[bot]
725d60a56e
Bump org.junit.vintage:junit-vintage-engine from 5.12.2 to 5.13.0
...
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit5 ) from 5.12.2 to 5.13.0.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.2...r5.13.0 )
---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
dependency-version: 5.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-04 19:06:01 +03:00
Alex Plate
7c4cfe44ae
Remove unused MutableBoolean data class from KeyHandler
2025-05-30 14:20:25 +03:00
Alex Plate
b58c1a42d2
Remove unused mappingCompleted parameter from handleKey methods
...
This updates method signatures and removes the redundant parameter throughout the codebase. Adds a deprecated overload for backward compatibility.
2025-05-30 14:16:40 +03:00
Alex Plate
b44308c9ef
Remove skipping of command execution if it happens not on the EDT
...
This requirement was a fix for VIM-318 introduced in ac654d70fa .
However, now we always run IdeaVim on EDT. Also, this check prevents the migration of IdeaVim to the background thread: VIM-3935
2025-05-27 18:30:16 +03:00
Alex Plate
f623c1eef9
Fix(VIM-3784): Integrate a notification that will warn new GoLand users that they use IdeaVim
2025-05-09 18:39:17 +02:00
Alex Plate
85acdc2e24
Fix(VIM-3881): Execute undo/redo directly for the remote dev scenarios
2025-05-09 16:20:27 +02:00
Alex Plate
ab635972cc
Remove a lot of deprecated methods in IdeaVim
2025-05-09 12:58:47 +02:00
Vladimir Parfinenko
c74163e917
Fix case settings in replacement string, VIM-3510
...
^VIM-3510 fixed
2025-05-09 12:08:01 +02:00
Vladimir Parfinenko
d38b2885ba
Fix missing backreferences in replacement string, VIM-3895
...
^VIM-3895 fixed
2025-05-09 12:08:01 +02:00
Vladimir Parfinenko
61666d1cfd
Always print float numbers using period as a decimal separator, VIM-3894
...
^VIM-3894 fixed
2025-05-09 12:02:56 +02:00
Alex Plate
12fd5bc79a
Remove deprecated functions
2025-05-08 17:20:58 +02:00
Alex Plate
235368c449
Remove old comments regarding vim-engine extraction
2025-05-08 17:20:00 +02:00
Alex Plate
9e3058dace
Code cleanup: remove some deprecations from the source code
2025-05-08 17:04:25 +02:00
M. V
3c2e2bfb68
VIM-3771 Add a smile command with python ascii art
2025-05-07 18:54:12 +02:00
M. V
3f75b6db6d
VIM-3771 Add a smile command with java ascii art
2025-05-07 18:54:12 +02:00
M. V
5fd318bf88
VIM-3771 Add a smile command with kotlin and default ascii art
2025-05-07 18:54:12 +02:00
M. V
6d34c70a9d
VIM-3771 Rename VirtualFile.kt to VimVirtualFile.kt and add a new property extension
2025-05-07 18:54:12 +02:00
Alex Plate
1891216182
Fix(VIM-3878): Support ROT13 command g?
2025-04-16 19:44:38 +03:00
dependabot[bot]
2be0228c35
Bump org.junit.jupiter:junit-jupiter-api from 5.12.1 to 5.12.2
...
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5 ) from 5.12.1 to 5.12.2.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 5.12.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-16 19:25:31 +03:00
dependabot[bot]
cf554e9ae2
Bump org.junit.vintage:junit-vintage-engine from 5.12.1 to 5.12.2
...
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit5 ) from 5.12.1 to 5.12.2.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2 )
---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
dependency-version: 5.12.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-16 19:10:22 +03:00
dependabot[bot]
5700738c61
Bump org.junit.jupiter:junit-jupiter-engine from 5.12.1 to 5.12.2
...
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5 ) from 5.12.1 to 5.12.2.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-version: 5.12.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-16 19:09:53 +03:00
Alex Plate
916afd31b2
Fix(VIM-3870): Add missing write actions
2025-04-16 18:54:22 +03:00
Matt Ellis
a5efa5f9f2
Rename SAVE_VISUAL to SAVE_SELECTION
...
IdeaVim will still leave Visual mode, but the IDE's selection remains.
2025-04-10 19:32:29 +03:00
Matt Ellis
e86503798a
Remove special case handling for Plug mapping
...
While it might not make sense to replay an incorrect `<Plug>` or `<Action>` mapping as characters where they are likely to cause unexpected behaviour as Normal commands, this is standard Vim behaviour (at least for `<Plug>`).
Note that `<Plug>` (and `<Action>`) is a special key code that cannot be typed. In Insert mode, Vim expands it to the text "<Plug>".
2025-04-10 19:32:29 +03:00
Matt Ellis
0b6ac4a9f4
Rename variable and add comments
2025-04-10 19:32:29 +03:00
Matt Ellis
2a6f7cc907
Remove unused mappingComplete parameter
...
Also makes all KeyConsumers internal
2025-04-10 19:32:29 +03:00
Matt Ellis
9b4f114d61
Refactor MappingProcessor
...
Extract single implementation for replaying unhandled keys and update to match the longest mapping that fits in the unhandled keys.
2025-04-10 19:32:29 +03:00
Matt Ellis
3155556832
Reformat and update comments for MappingProcessor
...
Minor refactorings, should be no changes in logic
2025-04-10 19:32:29 +03:00
Matt Ellis
07190f38c9
Fix :normal command with multi-letter mapping
2025-04-10 19:32:29 +03:00
Matt Ellis
db116faa32
Fix handling of modes in NormalCommand
...
All commands are called in Normal, so there is no need to check mode at execution time. The SAVE_VISUAL flag is perhaps poorly named, as it still change to Normal mode, but will save the current selection for commands that need (usually because they interact with IDE features). The `:normal` command does not need the current selection.
2025-04-10 19:32:29 +03:00
erotourtes
5a3d35f216
fix: typo & consistency
2025-04-07 10:47:41 +03:00
Matt Ellis
6d3bde3ad5
Fix incorrect implementation of DoesNotMatchHandler
2025-03-28 19:07:06 +02:00
Matt Ellis
3b2b863c88
Update truthy expressions
2025-03-28 19:07:06 +02:00