Matt Ellis
b7ce946af3
Extract sublist expression assignment
...
Also allows whitespace inside indexed expression
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
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
063317b0c9
Introduce LValueExpression, update OptionExpression
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
7fe01cd885
Add string() Vim function
2025-10-02 17:26:38 +03:00
Matt Ellis
68f0e162e2
Update out of date error message
2025-10-02 17:26:38 +03:00
Alex Plate
2c6638fe37
Introduce a common getChar implementation in the injector
2025-10-02 17:05:06 +03:00
dependabot[bot]
c2d7f40512
Bump org.mockito.kotlin:mockito-kotlin from 6.0.0 to 6.1.0
...
Bumps [org.mockito.kotlin:mockito-kotlin](https://github.com/mockito/mockito-kotlin ) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/mockito/mockito-kotlin/releases )
- [Commits](https://github.com/mockito/mockito-kotlin/compare/v6.0.0...v6.1.0 )
---
updated-dependencies:
- dependency-name: org.mockito.kotlin:mockito-kotlin
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-01 19:18:24 +03:00
dependabot[bot]
ac4a55d245
Bump org.junit.vintage:junit-vintage-engine from 5.13.4 to 6.0.0
...
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework ) from 5.13.4 to 6.0.0.
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.4...r6.0.0 )
---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-01 18:22:54 +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
4c84241d2a
Remove unnecessary error text messages
...
Let the IDE do this from the code
2025-09-16 16:33:40 +03:00
Matt Ellis
612dfe321c
Fix typo
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
e7769e33d7
Remove or rename unnecessary messages
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
f8d5d049bc
Simplify code to remove duplicate error message
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
f1d0206c66
Refactor code to remove unnecessary messages
...
The code doesn't require nullable arguments, which removes null check error messages. Also removed some "not implemented" messages from resources. There's no need for them to be in resources, hopefully we'll implement them soon.
2025-09-16 16:33:40 +03:00
Matt Ellis
fd6fe37c8f
Remove unnecessary Msg class
...
Using string identifiers means the IntelliJ resource tooling works better
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
Matt Ellis
ec125c9c7e
Restore API for external plugin compatibility
2025-09-12 12:56:58 +03:00
Matt Ellis
d4df794d3c
Show message if no mapping found
2025-09-09 14:06:38 +03:00
Matt Ellis
4c48b4cd42
Update comments and other PR feedback
2025-09-08 09:58:34 +03:00
Matt Ellis
aa46713d3d
Move deprecated functions to bottom of class
2025-09-08 09:58:34 +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
Matt Ellis
9dd60cdb3b
Introduce VimDataType.toOutputString
...
It's confusing to know the rules for converting between data types. This change introduces a semantically named method for getting a string representation that can be used in output and error messages.
2025-09-08 09:58:34 +03:00
Alex Plate
f5c1b11e4f
[API] Rename Read to EditorAccessor
2025-09-05 16:51:06 +03:00
Xinhe Wang
b304905b35
Simplify KeyStrokeTrie.getData by delegating to getTrieNode
2025-09-05 13:14:34 +03:00
Xinhe Wang
3d19696f3b
Fix casting error in KeyStrokeTrie.getEntries
...
Return an empty sequence if the prefix node is not found in `KeyStrokeTrie`.
Passing a non-existent prefix previously would result in a casting error.
2025-09-05 13:14:34 +03:00
Matt Ellis
572c24ff31
Insert text from incsearch end offset
2025-09-05 12:37:45 +03:00
Matt Ellis
c4a43eef92
Support insert filename literally
2025-09-05 12:37:45 +03:00
Matt Ellis
c22992c16c
Extract find filename at cursor to VimSearchHelper
2025-09-05 12:37:45 +03:00