Commit Graph
195 Commits
Author SHA1 Message Date
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