Matt Ellis
727b94e6ff
Add Dictionary values() function
2026-01-09 19:12:27 +02:00
Matt Ellis
d07a154a77
Add Dictionary keys() function
2026-01-09 19:12:27 +02:00
Matt Ellis
94736d2339
Add List+Dictionary remove() function
2026-01-09 19:12:27 +02:00
Matt Ellis
dc335e5178
Add List insert() function
2026-01-09 19:12:27 +02:00
Matt Ellis
52a1774f11
Add Dictionary has_key() function
2026-01-09 19:12:27 +02:00
Matt Ellis
6f553ec3c0
Add List add() function
2026-01-09 19:12:27 +02:00
Matt Ellis
12ab94452b
Update error message for min and max functions
2026-01-09 19:12:27 +02:00
Matt Ellis
fa06644ece
Move functions to more appropriate packages
2026-01-09 19:12:27 +02:00
Matt Ellis
33adcd3f04
Add deepcopy() function
2025-11-22 00:09:32 +02:00
Matt Ellis
aa346a3dfa
Add copy() function
2025-11-22 00:09:32 +02:00
Matt Ellis
cede08b536
Support string output for recursive datatypes
2025-11-22 00:09:32 +02:00
Alex Plate
58aa01113a
Bring back a missing property
2025-11-07 17:48:02 +02:00
Matt Ellis
e135392d8b
Implement bitwise shift expressions
2025-11-07 15:56:39 +02:00
Alex Plate
bdc29c3eb4
Add support for count(), index(), min(), max(), and range() vimscript functions
...
Implements five new vimscript list functions:
- count(): counts occurrences of a value in a list/dict
- index(): finds first index of a value in a list
- min()/max(): finds minimum/maximum value in a list/dict
- range(): generates a list of numbers with optional stride
Includes error handling for edge cases like zero stride and invalid ranges.
2025-10-03 20:59:29 +03:00
Alex Plate
d46eb39635
Add support for repeat(), char2nr(), nr2char(), trim(), and reverse() vimscript functions
...
Implement five commonly used vimscript functions:
- repeat(expr, count): Repeats strings or lists multiple times
- char2nr(char): Converts character to Unicode code point
- nr2char(number): Converts code point to character
- trim(text, [mask], [dir]): Trims whitespace or custom characters
- reverse(object): Reverses lists in-place or returns reversed string
All functions include comprehensive test coverage and follow vim's
official behavior including edge cases.
2025-10-03 19:08:57 +03:00
Alex Plate
a6c71d90bb
Fix(VIM-4050): Implement getline vim function
2025-10-03 18:41:34 +03:00
Matt Ellis
dc5b45a52d
Update OptionExpression to match Vim behaviour
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
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
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
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
c4a43eef92
Support insert filename literally
2025-09-05 12:37:45 +03:00
Matt Ellis
01a612ad60
Add insert filename under caret action
2025-09-05 12:37:45 +03:00
Matt Ellis
fa4c62ebde
Add insert big word at cursor literally action
...
Relates to VIM-2511
2025-09-05 12:37:45 +03:00
Matt Ellis
c5f6b2e336
Add insert big word at cursor command line action
...
Relates to VIM-2511
2025-09-05 12:37:45 +03:00
Matt Ellis
1e27220eaa
Support insert word literally
...
Inserting a word and inserting it literally is the same operation. No need for another action
Fixes VIM-2511
2025-09-05 12:37:45 +03:00
Matt Ellis
b5484345f8
Add insert word under caret action for command line
...
Fixes VIM-2511
2025-09-05 12:37:45 +03:00
Matt Ellis
5d68ba26c2
Add insert current line literally action
2025-09-05 12:37:45 +03:00
Matt Ellis
6aff6a07af
Add insert current line in command line
...
Fixes VIM-2511
2025-09-05 12:37:45 +03:00
Matt Ellis
c580aaceed
Add insert register literally action
...
Fixes VIM-2511
2025-09-05 12:37:45 +03:00
Matt Ellis
30dae9f4d9
Rename HistoryDownFilterAction and add tests
2025-09-05 12:37:45 +03:00
Matt Ellis
3ca51d0361
Rename HistoryDownAction and add tests
2025-09-05 12:37:45 +03:00
Matt Ellis
f282131414
Rename HistoryUpFilterAction and add tests
2025-09-05 12:37:45 +03:00
Matt Ellis
f5f14f308b
Rename HistoryUpAction and add tests
2025-09-05 12:37:45 +03:00
Matt Ellis
44cb65859b
Extract MoveCaretToPreviousBigWordAction
2025-09-05 12:37:45 +03:00
Matt Ellis
84eb131cea
Extract MoveCaretToNextBigWordAction
2025-09-05 12:37:45 +03:00
Matt Ellis
310d90466b
Extract DeletePreviousWordActionTest
2025-09-05 12:37:45 +03:00
Mia Vucinic
807dff45a9
add a new ReplaceWithRegister plugin implementation
2025-08-01 16:16:27 +03:00
Mia Vucinic
a25b88327e
implement PlugDisable command
2025-08-01 16:16:27 +03:00
Mia Vucinic
fbb2351ec2
implement PlugEnable command
2025-08-01 16:16:26 +03:00