1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2026-05-03 17:03:08 +02:00
Commit Graph

5723 Commits

Author SHA1 Message Date
Matt Ellis
3eb0ac9207 Remove tests for indexed expressions 2025-10-02 17:26:38 +03:00
Matt Ellis
d71b99b8d5 Update SublistExpressionTest.kt 2025-10-02 17:26:38 +03:00
Matt Ellis
db8736dcf4 Extract sublist expression assignment 2025-10-02 17:26:38 +03:00
Matt Ellis
b11fc4895b Support assigning to negative index 2025-10-02 17:26:38 +03:00
Matt Ellis
5a45f6d945 Improve evaluating indexed expressions
Support negative indexes, float indexes, and indexing numbers
2025-10-02 17:26:38 +03:00
Matt Ellis
6622f15ea3 Allow dictionary to be indexed by Float 2025-10-02 17:26:38 +03:00
Matt Ellis
fd1fe51633 Extract indexed expression assignment 2025-10-02 17:26:38 +03:00
Matt Ellis
91459edf6c Rename OneElementSublistExpression 2025-10-02 17:26:38 +03:00
Matt Ellis
01d92acd40 Improve validation for concatenation 2025-10-02 17:26:38 +03:00
Matt Ellis
6d18288883 Fix validation for modulo operator 2025-10-02 17:26:38 +03:00
Matt Ellis
7ffca59450 Support double-dot concatenation assignment 2025-10-02 17:26:38 +03:00
Matt Ellis
61df4f342d Support Float in concatenation handler
Surprisingly Float is converted to String, and then concatenated. But this is only supported for the binary concatenation operator, not the compound assignment concatenation operator. This lead to improved validation and behaviour closer to Vim.
2025-10-02 17:26:38 +03:00
Matt Ellis
cb1c0298ff Improve exception handling in tests 2025-10-02 17:26:38 +03:00
Matt Ellis
56d5af6bc9 Allow assigning Float to Register 2025-10-02 17:26:38 +03:00
Matt Ellis
1dbe3e4aa1 Update RegisterExpression to assign value 2025-10-02 17:26:38 +03:00
Matt Ellis
7256731572 Rename Register to RegisterExpression 2025-10-02 17:26:38 +03:00
Matt Ellis
dc5b45a52d Update OptionExpression to match Vim behaviour 2025-10-02 17:26:38 +03:00
Matt Ellis
37b6768148 Rename LetCommand.variable to lvalue 2025-10-02 17:26:38 +03:00
Matt Ellis
5ce2887391 Extract and add tests for sublist expressions 2025-10-02 17:26:38 +03:00
Matt Ellis
4ab91150d6 Extract and add tests for indexed expressions 2025-10-02 17:26:38 +03:00
Matt Ellis
9ddd074916 Extract tests for let command with register lvalue 2025-10-02 17:26:38 +03:00
Matt Ellis
a321bb28c0 Extract tests for let command with option lvalue 2025-10-02 17:26:38 +03:00
Matt Ellis
8c9df332aa Add tests for let command with variable lvalue 2025-10-02 17:26:38 +03:00
Matt Ellis
356a748181 Add tests for let command operators 2025-10-02 17:26:38 +03:00
Matt Ellis
7fe01cd885 Add string() Vim function 2025-10-02 17:26:38 +03:00
Xinhe Wang
f25b9fd9bf Fix uppercase keys in NERDTree 2025-10-02 17:12:23 +03:00
Alex Plate
2c6638fe37 Introduce a common getChar implementation in the injector 2025-10-02 17:05:06 +03:00
Matt Ellis
b6ffc7a357 Use injector instead of directly using helper 2025-09-16 16:33:40 +03:00
Matt Ellis
6f259f5207 Extract E474 error message 2025-09-16 16:33:40 +03:00
Matt Ellis
a9e503d13f Extract error messages from code 2025-09-16 16:33:40 +03:00
Matt Ellis
5297193649 Assert full error message, not partial
There's no good reason to only check a partial match. Make sure the entire string is correct.
2025-09-16 16:33:40 +03:00
Matt Ellis
c0f9f0bcbc Rename cryptic error messages to error codes 2025-09-16 16:33:40 +03:00
Matt Ellis
c725447c00 Refactor messages for ActionListCommand 2025-09-16 16:33:40 +03:00
Matt Ellis
920ac0546e Replace custom errors with error codes 2025-09-16 16:33:40 +03:00
Matt Ellis
c5e3c9ccf1 Rename messages to be more consistent 2025-09-16 16:33:40 +03:00
Matt Ellis
5c45c62c5b Rename some error message identifiers 2025-09-16 16:33:40 +03:00
Matt Ellis
e00960ebbc Tidy up host message bundle 2025-09-16 16:33:40 +03:00
Matt Ellis
76087fea93 Split host and engine bundles
This allows IntelliJ's property annotations to help in code
2025-09-16 16:33:40 +03:00
Alex Plate
59459e5113 Introduce a hidden vimhints option to hide the new hints functionality 2025-09-10 14:58:46 +03:00
Alex Plate
54653d1d1b Specify ActionUpdateThread for ToggleHintsAction 2025-09-10 14:06:33 +03:00
Xinhe Wang
4e59af278b Avoid generating hints for another unfocused window 2025-09-10 11:36:04 +03:00
Matt Ellis
d4df794d3c Show message if no mapping found 2025-09-09 14:06:38 +03:00
Xinhe Wang
04273d005e Skip the tree nodes when generating hints to improve performance 2025-09-09 12:53:26 +03:00
Xinhe Wang
463a9e7ceb Generate hints for visible components whose parent is not visible 2025-09-09 12:53:26 +03:00
Xinhe Wang
aab1999782 Do not preserve previous hints if impossible 2025-09-09 12:53:26 +03:00
Xinhe Wang
733470f7b4 Allow repeated characters in hints 2025-09-09 12:53:26 +03:00
Matt Ellis
aef0515183 Replace asDouble with a new toVimFloat function 2025-09-08 09:58:34 +03:00
Matt Ellis
b48f80ee7d Deprecate VimDataType.asString
Prefer `toVimString` to `asString`. It makes it more explicit that the caller requires a Vim String type, and must follow Vim's conversion rules, rather than simple requiring a string. It also prevents confusion with other string functions such as `toString`, `toOutputString`, `toInsertableString`.

The function is deprecated because it's in use by external plugins. There is no change in functionality.
2025-09-08 09:58:34 +03:00
Matt Ellis
fdda1f0eb6 Refactor VimInt.parseNumber 2025-09-08 09:58:34 +03:00
Matt Ellis
69fac0eff0 Deprecate VimDataType.asBoolean
The `asBoolean` method does not make it clear that only a Vim Number can be treated as a boolean and incorrectly allowed a Float to be converted.

If a caller needs a boolean value, it should be explicit that it must get a Number by calling `toVimNumber` and then using the new `booleanValue` accessor. This correctly allows conversion from a String, and other Vim datatypes will correctly raise an error.

The implementation of `VimString.toVimNumber` has been updated to match Vim behaviour, and the behaviour of the previously called `VimString.asDouble` by allowing trailing characters while converting a string to a number.

The `asBoolean` function is deprecated because it is used by external plugins.
2025-09-08 09:58:34 +03:00