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