Commit Graph
1951 Commits
Author SHA1 Message Date
Matt EllisandAlex Pláte a7e1c08589 Simplify unary arithmetic operators 2025-03-28 19:07:06 +02:00
Matt EllisandAlex Pláte 5aa5e82d59 Rename some operator handlers 2025-03-28 19:07:06 +02:00
Matt EllisandAlex Pláte 0db9ad505b Remove unnecessary singleton classes 2025-03-28 19:07:06 +02:00
Matt EllisandAlex Pláte 147eb99745 Simplify case sensitive binary operators 2025-03-28 19:07:06 +02:00
Matt EllisandAlex Pláte bb73bdfb4a Simplify case sensitive comparisons 2025-03-28 19:07:06 +02:00
Matt EllisandAlex Pláte 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 EllisandAlex Pláte e2cc9c648f Introduce toVimString to match toVimNumber 2025-03-28 19:07:06 +02:00
Matt EllisandAlex Pláte a322525c2a Be more explicit with is and isnot implementation 2025-03-28 19:07:06 +02:00
Matt EllisandAlex Pláte 51ea947ccb Move comparison operator data rules to base class 2025-03-28 19:07:06 +02:00
Matt EllisandAlex Pláte f6810798ef Move binary operator conversion rules to base class 2025-03-28 19:07:06 +02:00
Matt EllisandAlex Pláte 2fee525998 Refactor logical operators 2025-03-28 19:07:06 +02:00
Matt EllisandAlex Pláte 9e3ab12451 Combine logical handlers into same file 2025-03-28 19:07:06 +02:00
Matt EllisandAlex Pláte 5f8d552e8a Extract error message 2025-03-28 19:07:06 +02:00
Matt EllisandAlex Pláte 4e847f8ef4 Merge arithmetic operators to same file 2025-03-28 19:07:06 +02:00
Matt EllisandAlex Pláte d5901fc2c9 Merge case-sensitive handlers to same file 2025-03-28 19:07:06 +02:00
Matt EllisandAlex Pláte 3621b91321 Make operator handlers internal 2025-03-28 19:07:06 +02:00
Matt EllisandAlex Pláte 021db84a21 Expand ~ to home directory in XDG_CONFIG_HOME
Addresses VIM-3844, VIM-2001
2025-03-28 18:18:32 +02:00
Matt EllisandAlex Pláte e232cb3ceb Support 32-bit Unicode codepoints in digraphs
Fixes VIM-3842
2025-03-28 18:13:14 +02:00
Matt EllisandAlex Pláte 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 EllisandAlex Pláte 42229b285b Fix typo 2025-03-28 17:23:41 +02:00
Matt EllisandAlex Pláte dbd097a91a Fix caret position after :move command
Fixes VIM-3837
2025-03-28 17:23:41 +02:00
dependabot[bot]andgithub-actions[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]andgithub-actions[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]andgithub-actions[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 TumlinandAlex Pláte 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]andgithub-actions[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]andgithub-actions[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]andgithub-actions[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
Matt EllisandAlex Pláte ca4de6f317 Add missing shortcuts for WORD left/right in Select 2025-02-25 15:38:49 +02:00
Alex Plate 4ca25eed70 Remove the use of write action in macros 2025-02-24 14:31:14 +02:00
Alex Plate a925676d64 Fix issues with command line prompt processing 2025-02-24 13:59:31 +02:00
Alex Plate 6feb1a4525 Remove the change of ordering inside the clearPromptCharacter 2025-02-24 12:43:39 +02:00
Alex Plate 4cf7685aaf Fix incorrect condition in getting the actual text in command line 2025-02-24 12:21:34 +02:00
Alex Plate e257a10525 Fix an issue that the highlighting was silently missing due to an error 2025-02-24 12:13:51 +02:00
Alex Plate 42d80f6866 Add write action in several places 2025-02-21 19:32:47 +02:00
Alex Plate c9189ed7cb Commands don't start the read and write actions automatically. See the explanation in the previous commit messages.
Related to the implementation of VIM-3376
2025-02-21 19:11:28 +02:00
Alex Plate fedefea0aa Remove the write action in several places 2025-02-21 18:56:52 +02:00
Alex Plate 437fa9a1a0 Remove the root write and read actions
Historically, IdeaVim was starting read or write action based on command type. However, this is incorrect because of several reasons:
- The command of different type may perform a write/read action
- The write lock with a lot of code inside does cause application freezes
- Since a large branching of code happens inside the write action, there is a chance of read action request, resulting in the deadlock

Also, now this prevents from implementing a proper execution of VIM-3376.
2025-02-21 18:44:51 +02:00
Alex Plate 564ab7d75e Remove EDT and write action from the VimTestCase 2025-02-21 09:54:12 +02:00
Matt EllisandAlex Pláte 24c0d31f14 Updated comment and defaults for word end action
The `ge` motion incorrectly had `stopAtEmptyLine` set to false, but `ge` always stops at empty lines. This option is only applicable for forward motion, so is ignored by the implementation of `findPreviousWordEndOne`.
2025-02-21 09:53:11 +02:00