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
Matt Ellis
a7e1c08589
Simplify unary arithmetic operators
2025-03-28 19:07:06 +02:00
Matt Ellis
5aa5e82d59
Rename some operator handlers
2025-03-28 19:07:06 +02:00
Matt Ellis
0db9ad505b
Remove unnecessary singleton classes
2025-03-28 19:07:06 +02:00
Matt Ellis
147eb99745
Simplify case sensitive binary operators
2025-03-28 19:07:06 +02:00
Matt Ellis
bb73bdfb4a
Simplify case sensitive comparisons
2025-03-28 19:07:06 +02:00
Matt Ellis
9ab1044880
Migrate various string operators to toVimString
...
Make it explicit they only work with String values
2025-03-28 19:07:06 +02:00
Matt Ellis
e2cc9c648f
Introduce toVimString to match toVimNumber
2025-03-28 19:07:06 +02:00
Matt Ellis
a322525c2a
Be more explicit with is and isnot implementation
2025-03-28 19:07:06 +02:00
Matt Ellis
51ea947ccb
Move comparison operator data rules to base class
2025-03-28 19:07:06 +02:00
Matt Ellis
f6810798ef
Move binary operator conversion rules to base class
2025-03-28 19:07:06 +02:00
Matt Ellis
2fee525998
Refactor logical operators
2025-03-28 19:07:06 +02:00
Matt Ellis
9e3ab12451
Combine logical handlers into same file
2025-03-28 19:07:06 +02:00
Matt Ellis
5f8d552e8a
Extract error message
2025-03-28 19:07:06 +02:00
Matt Ellis
4e847f8ef4
Merge arithmetic operators to same file
2025-03-28 19:07:06 +02:00
Matt Ellis
d5901fc2c9
Merge case-sensitive handlers to same file
2025-03-28 19:07:06 +02:00
Matt Ellis
3621b91321
Make operator handlers internal
2025-03-28 19:07:06 +02:00
Matt Ellis
021db84a21
Expand ~ to home directory in XDG_CONFIG_HOME
...
Addresses VIM-3844, VIM-2001
2025-03-28 18:18:32 +02:00
Matt Ellis
e232cb3ceb
Support 32-bit Unicode codepoints in digraphs
...
Fixes VIM-3842
2025-03-28 18:13:14 +02:00
Matt Ellis
7917c83cb5
Add extra tests for line() function behaviour
...
It's not obvious that line('v') will return the opposite end of the current selection. Add some tests to highlight this.
Relates to VIM-3838
2025-03-28 17:23:41 +02:00
Matt Ellis
42229b285b
Fix typo
2025-03-28 17:23:41 +02:00
Matt Ellis
dbd097a91a
Fix caret position after :move command
...
Fixes VIM-3837
2025-03-28 17:23:41 +02:00
dependabot[bot]
3b8a830622
Bump org.junit.jupiter:junit-jupiter-api from 5.12.0 to 5.12.1
...
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5 ) from 5.12.0 to 5.12.1.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.0...r5.12.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 >
2025-03-26 17:41:17 +02:00
dependabot[bot]
4b3bba6a98
Bump org.junit.vintage:junit-vintage-engine from 5.12.0 to 5.12.1
...
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit5 ) from 5.12.0 to 5.12.1.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.0...r5.12.1 )
---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-03-19 18:34:51 +03:00
dependabot[bot]
f5269a56d6
Bump org.junit.jupiter:junit-jupiter-engine from 5.12.0 to 5.12.1
...
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5 ) from 5.12.0 to 5.12.1.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.0...r5.12.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 >
2025-03-19 18:34:13 +03:00
Alex Plate
f76b07521e
Fix(VIM-3827): Fix an incorrect implementation of the >= operator
...
As a note: This is the first bug in IdeaVim that was fixed by AI (with manual verification, of course).
2025-03-10 10:50:26 +02:00
Alex Plate
098243fb12
Fix vim-engine setup if no uploadUrl provided
2025-03-07 18:02:29 +02:00
Alex Plate
9ba0f5f47a
Add information when the characterwise motion changes to the linewise
2025-03-07 10:03:59 +02:00
Alex Plate
4a31e425e0
Support per-caret selection type during yanking
2025-03-07 10:01:36 +02:00
Alex Plate
017b36673b
Remove unused range argument from yank motion
2025-03-07 09:40:27 +02:00
Nath Tumlin
156fbcd60d
Make yank motion respect exclusive-linewise
...
I used the code in VimChangeGroupBase.getDeleteRangeAndType to do the check.
For an example of what this fixes, with the document:
```
${c}Hello!
```
executing "y}llp" before this change yields
```
HelHello!
lo!
```
but doing it with this change yields
```
Hello!
Hello!
````
2025-03-07 09:07:53 +02:00
Alex Plate
cda85ae534
Fix missing offset adjusting
...
This issue was found by property test
2025-03-04 18:46:34 +02:00
Alex Plate
f88a1cbe06
Add more wrappings for read actions
2025-03-04 15:36:18 +02:00
Alex Plate
6f193d8026
Update kotlin API version in vim-engine
2025-02-28 20:15:09 +02:00
Alex Plate
38102afc0f
Upgrade version of kotlin to 2.0.21
2025-02-28 19:22:16 +02:00
Alex Plate
89e530276f
Get rid of the AppCode-specific code
...
AppCode was sunset, so there is no need to support it in IdeaVim
2025-02-28 17:14:06 +02:00
dependabot[bot]
0b817ba575
Bump org.junit.jupiter:junit-jupiter-engine from 5.10.5 to 5.12.0
...
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5 ) from 5.10.5 to 5.12.0.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.5...r5.12.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 >
2025-02-26 18:49:11 +02:00
dependabot[bot]
5b5ff852f1
Bump org.junit.vintage:junit-vintage-engine from 5.10.5 to 5.12.0
...
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit5 ) from 5.10.5 to 5.12.0.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.5...r5.12.0 )
---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-02-26 18:15:11 +02:00
dependabot[bot]
7cbc799298
Bump org.junit.jupiter:junit-jupiter-api from 5.10.5 to 5.12.0
...
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5 ) from 5.10.5 to 5.12.0.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.5...r5.12.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 >
2025-02-26 18:14:48 +02:00