Matt Ellis
ced25bbf28
Initialise options when opening windows/buffers
...
Note that this temporarily changes the semantics of `:set` to always set the local option, instead of setting the global option (because we now eagerly initialise local values). Neither is correct, but we don't yet have a way to support the proper behaviour.
2023-07-31 11:28:32 +03:00
Matt Ellis
7e1ce5a203
Use Vim terminology in storage service
2023-07-31 11:28:32 +03:00
Matt Ellis
9a3fcb56a1
Support local-to-buffer options
...
Previously, all local options were treated as local-to-window
2023-07-31 11:28:32 +03:00
Matt Ellis
aff956f4c8
Update parsed value cache for declared scope
2023-07-31 11:28:32 +03:00
Matt Ellis
0f49fd6406
Introduce declared scope for all options
2023-07-31 11:28:32 +03:00
Filipp Vakhitov
dfbefe96da
Fix(VIM-802): IdeaVim vs. Vim: discrepancies in using registers
2023-07-28 19:58:51 +03:00
filipp
a71b35097f
Fix(VIM-2246): X11/Xorg Primary selection register "* not supported
2023-07-28 19:56:42 +03:00
filipp
0058f81e76
VIM-3022 Search is broken in folded regions
2023-07-27 01:03:12 +03:00
Alex Plate
78ea4e4e30
Set up publishing of the vim-engine library
2023-07-20 16:50:14 +03:00
Matt Ellis
2f5d402c61
Support :set! to output as a single column
2023-07-19 18:04:02 +03:00
Matt Ellis
8fb2ea5845
Output options in column order, not row order
...
This means that the last column might not be full, rather than the last row. Same as Vim.
2023-07-19 18:04:02 +03:00
Matt Ellis
a78e21a167
Use soft wraps instead of hard wraps in ex output
...
Hard wraps require figuring out the width of the panel, and all we have is the width of the associated editor, which excludes gutter, etc. Easier to let the UI toolkit handle it
2023-07-19 18:04:02 +03:00
Matt Ellis
2e9b626523
Fix formatting of value pair options
2023-07-19 18:04:02 +03:00
Matt Ellis
4487b8904c
Sort options output before formatting
...
Sorts on option name, not including "no" prefix for toggle options
2023-07-19 18:04:02 +03:00
Matt Ellis
1f01f915dc
Remove trailing padding from options list
2023-07-19 18:04:02 +03:00
filipp
a769a8d1a4
Fix(VIM-2818): Wrong caret position after multicaret paste
2023-07-14 16:24:36 +03:00
filipp
9e203898b6
Support more registers for secondary carets
2023-07-14 13:42:43 +03:00
Ludwig Valda Vasquez
28887c1da2
Update VimMessages#updateStatusBar to accept VimEditor
...
This is required for vim support in Fleet.
2023-07-07 10:57:56 +03:00
filipp
2582f1e907
Fix(VIM-1294): unvoluntary unfolding when using ideavim
2023-06-30 12:32:41 +03:00
filipp
c376feb4d8
Fix(VIM-2685): Register command outputs different values for same registers
2023-06-27 17:40:56 +03:00
filipp
1205bb67f2
VIM-2973 Multiline editing like "ciw" doesn't work well when have remappings to stop c
and d
from using the default register
2023-06-21 01:20:46 +03:00
filipp
10bcd20cd8
Retire obsolete commands
...
With all the gratefulness for 20 years of service. Thank you, pioneers of our plugin's legacy.
2023-06-20 15:59:09 +03:00
filipp
1b1680f7b0
Fix typo
2023-06-20 15:59:09 +03:00
filipp
6cc52570ac
Add missing ExCommand annotations
2023-06-20 15:59:09 +03:00
filipp
6425791ed9
Attempt to avoid broken jsons after partial compilation
2023-06-20 15:59:09 +03:00
Alex Plate
0192009482
Fix(VIM-2975): Fix the offset after the rendered docs
2023-06-15 14:25:09 +03:00
Alex Plate
7b71af9e1d
Fix(VIM-2964): Fix an issue with leaking caret instance
...
Now I use the subscription to the disposer, but I think we can update it to the flow
2023-06-06 16:12:54 +03:00
Alex Plate
51c464f8d2
Fix out of bounds exception
2023-06-06 12:07:33 +03:00
filipp
460553d8ae
Avoid dependency to annotation-processors
2023-06-06 10:42:42 +03:00
filipp
cc2de42415
Moving from gorgeous YAML to good old JSON
2023-06-06 10:42:42 +03:00
filipp
b31aa57d81
build.gradle.kts cleanup
2023-06-06 10:42:42 +03:00
filipp
c9b9bb6cf8
Remove generated files for tests
2023-06-06 10:42:42 +03:00
filipp
434d882314
Add vimscriptfunctionannotation
option
2023-06-06 10:42:42 +03:00
filipp
f456e0a8dd
Fix tests
2023-06-06 10:42:42 +03:00
filipp
4d907213c3
Split ex-commands in YAML
2023-06-06 10:42:42 +03:00
filipp
ee704f53c7
Support lazy ex command classloading
2023-06-06 10:42:42 +03:00
filipp
74237365f1
Fix LazyVimscriptFunction
2023-06-06 10:42:42 +03:00
filipp
8aeab29303
Annotate ex-commands
2023-06-06 10:42:42 +03:00
filipp
ff945e7b8a
Add ExCommand annotation
2023-06-06 10:42:42 +03:00
filipp
7491d19309
Add yaml files
2023-06-06 10:42:42 +03:00
filipp
627c8a6eca
Move some functions to engine
2023-06-06 10:42:42 +03:00
filipp
8094758a82
Add function providers
2023-06-06 10:42:42 +03:00
filipp
f143b6ee9f
Rename KSP options
2023-06-06 10:42:42 +03:00
filipp
063d3949cf
Better YAML
2023-06-06 10:42:42 +03:00
filipp
c1b87eba03
Annotate functions
2023-06-06 10:42:42 +03:00
filipp
bae52964cd
Add VimscriptFunction annotation
2023-06-06 10:42:42 +03:00
samabcde
437932cd57
VIM-1990 fix repeat delete find or till wrong MotionType
2023-06-01 10:36:28 +03:00
samabcde
4e7149c945
VIM-2615 add support to sort u command, fix natural sort issue when both string not contain number
2023-05-29 14:41:06 +03:00
Alex Plate
48b18da953
Get text object parameters from the operatorArguments
2023-05-19 10:21:18 +03:00
Alex Plate
904ca5d529
Remove argument argument
from text object
2023-05-19 10:16:23 +03:00
Alex Plate
05986d017d
Remove deprecated function
2023-05-19 09:52:06 +03:00
Matt Ellis
798750bf95
Use options API for more cached values
2023-05-17 10:54:13 +02:00
Matt Ellis
e8d9bd551f
Add helper functions to storage service
2023-05-17 10:54:13 +02:00
Matt Ellis
d08ea2ee9b
Introduce simple cache for parsed option values
2023-05-17 10:54:13 +02:00
Matt Ellis
52dcb2d290
Treat 'iskeyword' as a local-to-buffer option
2023-05-17 10:54:13 +02:00
Matt Ellis
4cc883f174
Refactor search helper companion to interface
...
Helper functions now take the editor rather than the text, ready for search to rely on per-editor options (i.e. '`iskeyword'`). Also standardises on `Int` for search parameters. While the file size is a `Long`, the editor returns a `CharSequence`, which is indexed by `Int`.
2023-05-17 10:54:13 +02:00
Matt Ellis
5a3c5bd761
Treat 'virtualedit' as a global-local option
2023-05-17 10:54:13 +02:00
Matt Ellis
fd314a3288
Treat 'matchpairs' as a local option
2023-05-17 10:54:13 +02:00
filipp
e4f7700044
Refactoring
...
Update method signatures and return types:
- Getting rid of "magic constants" (e.g. -1) and replacing them with nullable
- Replacing direction Int with Enum
- JetBrains annotations
2023-05-05 09:41:27 +03:00
filipp
2088c1ce00
Move more methods to engine
2023-05-05 09:41:27 +03:00
Alex Plate
30e69e13fd
Update kotlin version to 1.8.21
2023-04-26 10:57:54 +03:00
dependabot[bot]
17346c255e
Bump org.jetbrains:annotations from 23.0.0 to 24.0.1
...
Bumps [org.jetbrains:annotations](https://github.com/JetBrains/java-annotations ) from 23.0.0 to 24.0.1.
- [Release notes](https://github.com/JetBrains/java-annotations/releases )
- [Changelog](https://github.com/JetBrains/java-annotations/blob/master/CHANGELOG.md )
- [Commits](https://github.com/JetBrains/java-annotations/compare/23.0.0...24.0.1 )
---
updated-dependencies:
- dependency-name: org.jetbrains:annotations
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-26 10:46:14 +03:00
Matt Ellis
29bd7cbe6e
Update note to include how to add an option
2023-04-26 10:26:06 +03:00
Matt Ellis
a51fc9c612
Add extra notes about the history of refactorings
2023-04-26 10:26:06 +03:00
Matt Ellis
957874ce2b
Remove unused @JvmField annotations
2023-04-26 10:26:06 +03:00
Matt Ellis
330d92116c
Refine inheritance of IJ specific option classes
2023-04-26 10:26:06 +03:00
Matt Ellis
899adfc1b0
More refactoring to use new API
2023-04-26 10:26:06 +03:00
Matt Ellis
23535a6ad5
Remove OptionValueAccessor
2023-04-26 10:26:06 +03:00
Matt Ellis
e8b7f00370
Remove accessor from new API
2023-04-26 10:26:06 +03:00
Matt Ellis
3f2c5070ee
Migrate local option access to new API
2023-04-26 10:26:06 +03:00
Matt Ellis
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
50384a526b
Introduce option accessor delegated properties
...
Also migrates tests to use new properties
2023-04-26 10:26:06 +03:00
Matt Ellis
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
f803c0aa72
Add deterministic initialisation of options
2023-03-31 17:37:48 +03:00
Matt Ellis
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
cbf6c30be6
Make option value accessor more strongly typed
2023-03-31 17:37:48 +03:00
Matt Ellis
a6f62dd837
Remove unnecessary assert
...
checkIfValueValid will check datatype is correct
2023-03-31 17:37:48 +03:00
Matt Ellis
18d52c2459
Make addListener more strongly typed
2023-03-31 17:37:48 +03:00
Matt Ellis
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
3ab5fc1120
Improve handling of variance
2023-03-31 17:37:48 +03:00
Matt Ellis
b7dcff79ae
Improve modifyOptionValue
2023-03-31 17:37:48 +03:00
Matt Ellis
c857b9d6dd
Make functions private to SetCommand
2023-03-31 17:37:48 +03:00
Matt Ellis
8f8c05e451
Remove string based option helper functions
2023-03-31 17:37:48 +03:00
Matt Ellis
c8ca6671ab
Remove unused functions
2023-03-31 17:37:48 +03:00
Matt Ellis
88f0d2e532
Replace constants with strongly typed properties
2023-03-31 17:37:48 +03:00
Matt Ellis
76a4499c9f
Introduce properties for option definitions
2023-03-31 17:37:48 +03:00
Matt Ellis
6d193ca1f8
Extract option definitions to own file
2023-03-31 17:37:48 +03:00
Matt Ellis
d932172e70
Extract option definitions to own class
2023-03-31 17:37:48 +03:00
Matt Ellis
9bbf5824fe
Use lazy property delegate
2023-03-31 17:37:48 +03:00
Matt Ellis
d042ee3058
Move octopushandler option out of vim-engine
2023-03-31 17:37:48 +03:00
Alex Plate
0efd81142d
Remove ktlint from configurations
2023-03-31 11:22:41 +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