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
Matt Ellis
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 Ellis
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
Matt Ellis
43a2bd98db
Reduce multiple implementations to one
2025-02-21 09:53:11 +02:00
Matt Ellis
c4f56c40fd
Rename findWordUnderCursor to findWordObject
...
Starting to distinguish between the other findWordUnderCursor implementations!
2025-02-21 09:53:11 +02:00
Matt Ellis
1b4b66dbb1
Minor refactoring
2025-02-21 09:53:11 +02:00
Matt Ellis
4787a5e22a
Rewrite backwards search for word under cursor
2025-02-21 09:53:11 +02:00
Matt Ellis
d2b85cbb10
Merge inner and outer motion implementations
2025-02-21 09:53:11 +02:00
Matt Ellis
0428c2aeff
Rewrite inner motion to match outer motion
...
The implementations are so similar and can now be refactored/simplified
2025-02-21 09:53:11 +02:00
Matt Ellis
1a8789b50c
Rewrite next/previous word motions and objects
2025-02-21 09:53:11 +02:00
Matt Ellis
b5937e885d
Rewrite displayLocationInfo to avoid findNextWord
...
Simplifies and fixes counting words, especially when selection intersects words. Also moves implementation to engine and adds more tests.
2025-02-21 09:53:11 +02:00
Matt Ellis
8eef802ac7
Add notes on possible refactoring
2025-02-21 09:53:11 +02:00
Matt Ellis
cad6afdc9d
Rewrite word end motions and word objects
2025-02-21 09:53:11 +02:00
Matt Ellis
426c2fd006
Handle blank and empty lines for text objects
...
Fixes VIM-1642
2025-02-21 09:53:11 +02:00
Matt Ellis
f25c56b545
Refactor checks for including following whitespace
2025-02-21 09:53:11 +02:00
Matt Ellis
960eb50d8c
Fix incorrectly selected new line char with viw
2025-02-21 09:53:11 +02:00
Matt Ellis
18b4b76ebf
Select trailing whitespace with viw
...
Inner word/WORD motions will select trailing whitespace at the end of a line without wrapping
2025-02-21 09:53:11 +02:00
Matt Ellis
d9e575d4a2
Select leading whitespace with viw
...
Inner word/WORD motions will select leading whitespace at the start of a line without wrapping
2025-02-21 09:53:11 +02:00
Matt Ellis
1769804c8a
Select leading whitespace with vaw
...
Outer word/WORD motions will select leading whitespace at the start of a line
2025-02-21 09:53:11 +02:00
Matt Ellis
81e094ac8f
Select trailing whitespace with vaw
...
Outer word/WORD motions will select trailing whitespace at the end of a line
2025-02-21 09:53:11 +02:00
Matt Ellis
4240c429ba
Select preceding whitespace if no following (vaw)
...
Outer word/WORD text objects should select following whitespace, unless there isn't any, and then it should select preceding whitespace.
2025-02-21 09:53:11 +02:00
Matt Ellis
76f7d81129
Minor code cleanup. No logic changes
2025-02-21 09:53:11 +02:00
Matt Ellis
580764b30c
Match empty line as word/WORD
...
Unless moving to end of word/WORD, in which case, skip all whitespace to get to end of the next set of word/WORD characters.
Fixes VIM-1650
2025-02-21 09:53:11 +02:00
Matt Ellis
afd69eef95
Fix end of file edge case deleting previous word
...
Adds extra tests to confirm that deleting previous word in Insert mode was already working as expected (relates to VIM-1650)
Also fixes an edge case for a test that was marked as behaving differently to Vim, but was actually showing buggy behaviour due to its unorthodox caret placement. It looked like the caret was placed at the end of the line, but it was actually placed _passed_ the last character in the file. Adding extra text below the caret placement would cause the action to behave as expected, and the test would then match Vim behaviour. However, it is possible to get this caret position in the editor and in Vim, with `virtualedit=onemore`, and the IdeaVim implementation was wrong. The test has been updated to provide the correct scenario, and the implementation has been fixed.
2025-02-21 09:53:11 +02:00
Matt Ellis
be1cc67566
Fix previous word end motion at start of file
2025-02-21 09:53:11 +02:00
Matt Ellis
b534708a99
Rename file to show it contains several actions
2025-02-21 09:53:11 +02:00
Matt Ellis
5740372df9
Add err_teapot function
2025-02-20 19:21:31 +02:00
Matt Ellis
06791b9378
Add float2nr function
2025-02-20 19:21:31 +02:00
Matt Ellis
91e927c913
Add fmod function
2025-02-20 19:21:31 +02:00
Matt Ellis
9a5c558060
Add float classification functions
2025-02-20 19:21:31 +02:00
Matt Ellis
d1127a5238
Add power functions
2025-02-20 19:21:31 +02:00
Matt Ellis
613a8b5792
Add exponential functions
2025-02-20 19:21:31 +02:00
Matt Ellis
6f63371e9b
Add rounding functions
2025-02-20 19:21:31 +02:00
Matt Ellis
3b96e2eacd
Add trigonometric and hyperbolic builtin functions
2025-02-20 19:21:31 +02:00
Matt Ellis
4453862ea0
Extract function tests
2025-02-20 19:21:31 +02:00
Matt Ellis
c631d0738e
Group function handlers like in Vim help
...
See `:help function-list`
2025-02-20 19:21:31 +02:00
Matt Ellis
1bd7a7596b
Support binary numbers in vimscript
...
Also supports octal with an `0o` or `0O` prefix.
2025-02-20 19:21:31 +02:00
Matt Ellis
23329cc522
Add bitwise functions
2025-02-20 19:21:31 +02:00
Alex Plate
ee548b52db
[VIM-3784] Store the information about the first version of IdeaVim for the user.
2025-01-27 11:09:47 +02:00
dependabot[bot]
3b1e319a8e
Bump org.jetbrains:annotations from 26.0.1 to 26.0.2
...
Bumps [org.jetbrains:annotations](https://github.com/JetBrains/java-annotations ) from 26.0.1 to 26.0.2.
- [Release notes](https://github.com/JetBrains/java-annotations/releases )
- [Changelog](https://github.com/JetBrains/java-annotations/blob/master/CHANGELOG.md )
- [Commits](https://github.com/JetBrains/java-annotations/compare/26.0.1...26.0.2 )
---
updated-dependencies:
- dependency-name: org.jetbrains:annotations
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-01-22 18:08:22 +02:00
Matt Ellis
33b34b84b5
Add doc comment for inCommandLineModeWithVisual
2025-01-22 17:42:30 +02:00
Matt Ellis
308996c4c1
Remove Visual when updating incsearch for a command
2025-01-22 17:42:30 +02:00
Matt Ellis
e9e86b07fb
Fix incsearch not updating empty selection
...
As a by-product, this also fixes an off-by-one error where incsearch would effectively treat all Visual searches as exclusive
2025-01-22 17:42:30 +02:00
Sebastian Doerner
cb218697fa
[VIM-3731] Add support for "jump to previous/next lowercase mark".
...
Fixes VIM-3731
2025-01-21 22:48:12 +02:00
Matt Ellis
1d5fc01d65
Fix Del and BS not working in Select mode
...
Fixes VIM-3618
2025-01-13 18:10:01 +01:00
Alex Plate
ad584d553c
Reformat code
2025-01-10 13:28:48 +03:00
Alex Plate
36556d559f
Optimize imports
2025-01-10 13:28:47 +03:00
Alex Plate
378611fe8f
Remove outdated documentation
2025-01-10 13:28:47 +03:00
Alex Plate
ef16181ba2
Clean up code
2025-01-10 13:28:46 +03:00
Alex Plate
aaba0a09c2
Remove deprecated function
2025-01-10 13:28:46 +03:00
Matt Ellis
0b308769b1
Move select toggle implementation
2025-01-10 11:29:44 +03:00
Matt Ellis
eb19d9fb11
Refactor improper usages of toggleVisual
2025-01-10 11:29:44 +03:00
Matt Ellis
bfa271b089
Reorder functions in file. No code changes
2025-01-10 11:29:44 +03:00
Matt Ellis
e299b27a5c
Update docs and remove unnecessary null parameter
2025-01-10 11:29:44 +03:00
Matt Ellis
9306d93cbf
Remove unnecessary pushVisualMode helper function
2025-01-10 11:29:44 +03:00
Matt Ellis
63b3af3f65
Implement v_CTRL-O
...
From Select mode, enters Visual for a single command
2025-01-10 11:29:44 +03:00
Matt Ellis
fcc234c4fe
Rename submode to selectionType
2025-01-10 11:29:44 +03:00
Matt Ellis
2e0ef7e0b0
Enter Insert Visual/Select mode with shifted key
2025-01-10 11:29:44 +03:00
Matt Ellis
da99e1f1c3
Return to Insert when leaving Insert Normal
2025-01-10 11:29:44 +03:00
Matt Ellis
0e587211d9
Improve isEndAllowed
2025-01-10 11:29:44 +03:00
Matt Ellis
dc5ef487d2
Show additional Insert modes in showmode widget
2025-01-10 11:29:44 +03:00
Matt Ellis
eaad93903b
Simplify Mode hierarchy
...
Wanting to add `ReturnTo.SELECT` would be very tricky, as we would have to recreate the mode, but have no details about the selection type.
2025-01-10 11:29:44 +03:00
Matt Ellis
a6b2bf1c55
Remove ReturnableFromCmd marker interface
2025-01-10 11:29:44 +03:00
Matt Ellis
e3a07b6c89
Add support for CTRL-J
...
Supported in Normal, Visual, Select and Operator-pending. Also adds support for CTRL-M in Select mode.
Fixes VIM-3740
2025-01-10 10:00:28 +03:00
Alex Plate
c225452432
[VIM-3577] Store the information if the editor was initialized in insert mode
2024-12-18 13:19:20 +02:00
Alex Plate
5995a48d7b
[VIM-3577] Replace weak reference to focused editor to needed information
...
The `editorInFocus` used the weak reference in order to avoid editor leaks. However, if the user is unlucky, the GC may be called in between the console closing and switching focus to the new editor. In this case, the logic breaks and the Editor remains in the insert mode.
Now, we store only the required information about the last used editor.
2024-12-17 20:36:51 +02:00
Julien Phalip
4962baabad
Add support for hlsearch variable
2024-12-06 17:21:33 +02:00
Julien Phalip
2e550a0960
Add support for escape() vim function
2024-12-06 17:09:59 +02:00
Matt Ellis
a005eb0612
Fix repeating change action with count
...
Fixes VIM-3729
2024-12-04 18:23:16 +02:00
Julien Phalip
e32fa6dd11
Change Variable
to an interface
2024-11-26 10:32:11 +02:00
Julien Phalip
ec3db81c6d
Move register variable to its own separate class
2024-11-26 10:32:11 +02:00
Julien Phalip
7062dc4860
Add support for the v:register variable
2024-11-26 10:32:11 +02:00
filipp
94d7902ef2
Remove more deprecated methods
2024-11-22 17:15:07 +02:00
filipp
3d08170d54
Post-rebase fixes
2024-11-22 17:15:07 +02:00