Matt Ellis and Alex Pláte
e8b7f00370
Remove accessor from new API
2023-04-26 10:26:06 +03:00
Matt Ellis and Alex Pláte
3f2c5070ee
Migrate local option access to new API
2023-04-26 10:26:06 +03:00
Matt Ellis and Alex Pláte
a2352525c5
Migrate global option access to new API
...
Also fixes some incorrect usages of local options as global, e.g. 'ideajoin' and 'scroll'. There are some options that should be local that are only ever accessed at global scope. These need fixing in the future, e.g. 'iskeyword', 'matchpairs' and 'virtualedit'
2023-04-26 10:26:06 +03:00
Matt Ellis and Alex Pláte
50384a526b
Introduce option accessor delegated properties
...
Also migrates tests to use new properties
2023-04-26 10:26:06 +03:00
Matt Ellis and Alex Pláte
9ade3365ff
Extract StringListOption
...
While it is conceptually very similar to StringOption, the implementation of list vs not-list operations are very different, and having a separate type will allow us to do more interesting things with overloading when we introduce delegate properties
2023-04-26 10:26:06 +03:00
filipp
2f55d92d83
Move more methods to engine
2023-04-19 15:07:06 +03:00
Matt Ellis and Alex Pláte
f803c0aa72
Add deterministic initialisation of options
2023-03-31 17:37:48 +03:00
Matt Ellis and Alex Pláte
531b0e3537
Provide an API to override option default value
...
This is specifically to support ideaput in 'clipboard'
2023-03-31 17:37:48 +03:00
Matt Ellis and Alex Pláte
cbf6c30be6
Make option value accessor more strongly typed
2023-03-31 17:37:48 +03:00
Matt Ellis and Alex Pláte
a6f62dd837
Remove unnecessary assert
...
checkIfValueValid will check datatype is correct
2023-03-31 17:37:48 +03:00
Matt Ellis and Alex Pláte
18d52c2459
Make addListener more strongly typed
2023-03-31 17:37:48 +03:00
Matt Ellis and Alex Pláte
ee55cfd2dd
Improve handling of variance with setOptionValue
...
With the `out` modifier, the compiler won't report a problem trying to assign `VimInt` to an `Option<VimString>`
2023-03-31 17:37:48 +03:00
Matt Ellis and Alex Pláte
3ab5fc1120
Improve handling of variance
2023-03-31 17:37:48 +03:00
Matt Ellis and Alex Pláte
b7dcff79ae
Improve modifyOptionValue
2023-03-31 17:37:48 +03:00
Matt Ellis and Alex Pláte
c857b9d6dd
Make functions private to SetCommand
2023-03-31 17:37:48 +03:00
Matt Ellis and Alex Pláte
8f8c05e451
Remove string based option helper functions
2023-03-31 17:37:48 +03:00
Matt Ellis and Alex Pláte
c8ca6671ab
Remove unused functions
2023-03-31 17:37:48 +03:00
Matt Ellis and Alex Pláte
88f0d2e532
Replace constants with strongly typed properties
2023-03-31 17:37:48 +03:00
Matt Ellis and Alex Pláte
76a4499c9f
Introduce properties for option definitions
2023-03-31 17:37:48 +03:00
Matt Ellis and Alex Pláte
6d193ca1f8
Extract option definitions to own file
2023-03-31 17:37:48 +03:00
Matt Ellis and Alex Pláte
d932172e70
Extract option definitions to own class
2023-03-31 17:37:48 +03:00
Matt Ellis and Alex Pláte
9bbf5824fe
Use lazy property delegate
2023-03-31 17:37:48 +03:00
Matt Ellis and Alex Pláte
d042ee3058
Move octopushandler option out of vim-engine
2023-03-31 17:37:48 +03:00
filipp
f4068301ff
Add information about text range in original script for executable
2023-03-31 11:00:39 +03:00
Alex Plate
832c1c0be3
Revert "Update formatting"
...
This reverts commit bf0fba9c58 .
2023-03-27 11:32:59 +03:00
Alex Plate
bf0fba9c58
Update formatting
2023-03-27 08:27:13 +00:00
Alex Plate
0f8b67e6ce
Reformat files
2023-03-27 11:14:00 +03:00
Alex Plate
f0505b8919
Fix(VIM-2433): Do not clear clipboard after inserting with ideaput
2023-03-17 13:26:13 +02:00
Alex Plate
edf9962abf
Introduce new mechanizm for options testing
2023-03-16 13:01:42 +02:00
Alex Plate
0510fe8530
Ktlint format
2023-03-16 10:52:52 +02:00
Alex Plate
6b76270d51
Reformat code
2023-03-15 07:59:25 +02:00
filipp
9454ebcb35
Move some methods to engine
2023-03-13 19:34:14 +02:00
Alex Plate
441721b63f
Reformat source code
2023-03-13 11:44:02 +02:00
Alex Plate
0eda85c95e
Enable explicitApiMode for vim-engine
2023-03-13 11:39:50 +02:00
Alex Plate
01e4c80adb
Remove traces of the experimental API
2023-03-13 10:29:09 +02:00
Alex Plate
0e8ec4d445
Set visibility for classes in vim-engine
2023-03-13 10:22:53 +02:00
Alex Plate
a0d3cf561b
Apply ktlint reformat
2023-03-13 08:43:52 +02:00
filipp
f385c3fa21
Fix(VIM-795): Ctrl-w + h doesn't alway work (window navigation to the left window)
2023-03-12 00:20:08 +02:00
filipp
7768c9147d
Fix(VIM-2819): Move command works incorrectly
2023-03-11 20:01:55 +02:00
filipp
3ddd4a1a58
Fix(VIM-2868): Pasting in visual mode with P should not replace yank register like when pasting with p
2023-03-10 23:30:35 +02:00
filipp
2369814092
Fix(VIM-2884): Moving multiple lines in visual mode is not working
2023-03-10 22:48:16 +02:00
filipp
4c7c3dba00
Fix(VIM-2733): vim-surround emulation interacts incorrectly with unmatched quotes on previous lines
2023-03-10 21:20:18 +02:00
filipp
aebad12bbe
Add some useful methods to work with strings
2023-03-10 20:39:13 +02:00
Alex Plate
119975c313
Remove experimental API
2023-03-10 18:30:07 +02:00
Alex Plate
27c3a95ec6
Provide visibility for some classes
2023-03-10 18:15:48 +02:00
Alex Plate
88b3373e5c
Add option to enable octopus handler
2023-03-10 12:11:17 +02:00
Matt Ellis and lippfi
c192f319d1
Simplify setting known options a little
2023-03-10 10:17:45 +02:00
Matt Ellis and lippfi
097dfa06a6
Add a couple of convenience functions
2023-03-10 10:17:45 +02:00
Matt Ellis and lippfi
90ca544d0a
Move getter helpers out of the options interface
...
The interface now has a simple setter and getter, as well as other functions for managing options. More friendly functions for getting and setting values are available as extension functions
2023-03-10 10:17:45 +02:00
Matt Ellis and lippfi
2bc9640b88
Remove last of 'set' validation code
2023-03-10 10:17:45 +02:00