Commit Graph
1865 Commits
Author SHA1 Message Date
Matt EllisandAlex Pláte e8b7f00370 Remove accessor from new API 2023-04-26 10:26:06 +03:00
Matt EllisandAlex Pláte 3f2c5070ee Migrate local option access to new API 2023-04-26 10:26:06 +03:00
Matt EllisandAlex 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 EllisandAlex Pláte 50384a526b Introduce option accessor delegated properties
Also migrates tests to use new properties
2023-04-26 10:26:06 +03:00
Matt EllisandAlex 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 EllisandAlex Pláte f803c0aa72 Add deterministic initialisation of options 2023-03-31 17:37:48 +03:00
Matt EllisandAlex 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 EllisandAlex Pláte cbf6c30be6 Make option value accessor more strongly typed 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte a6f62dd837 Remove unnecessary assert
checkIfValueValid will check datatype is correct
2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte 18d52c2459 Make addListener more strongly typed 2023-03-31 17:37:48 +03:00
Matt EllisandAlex 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 EllisandAlex Pláte 3ab5fc1120 Improve handling of variance 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte b7dcff79ae Improve modifyOptionValue 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte c857b9d6dd Make functions private to SetCommand 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte 8f8c05e451 Remove string based option helper functions 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte c8ca6671ab Remove unused functions 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte 88f0d2e532 Replace constants with strongly typed properties 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte 76a4499c9f Introduce properties for option definitions 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte 6d193ca1f8 Extract option definitions to own file 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte d932172e70 Extract option definitions to own class 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte 9bbf5824fe Use lazy property delegate 2023-03-31 17:37:48 +03:00
Matt EllisandAlex 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 Ellisandlippfi c192f319d1 Simplify setting known options a little 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 097dfa06a6 Add a couple of convenience functions 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 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 Ellisandlippfi 2bc9640b88 Remove last of 'set' validation code 2023-03-10 10:17:45 +02:00