1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2025-08-18 01:31:44 +02:00
Commit Graph

1513 Commits

Author SHA1 Message Date
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