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
dependabot[bot]
35142e5204
Bump junit-jupiter-engine from 5.8.1 to 5.9.2
...
Bumps [junit-jupiter-engine](https://github.com/junit-team/junit5 ) from 5.8.1 to 5.9.2.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.8.1...r5.9.2 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-03-14 18:28:02 +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
8593e7a6ac
Small reformat of kotlin script
2023-03-10 19:03:35 +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
8066ac2819
Enable explicit api mode for vim-engine
...
But without fixes as there are 3000 violations
2023-03-10 13:23:24 +02:00
Alex Plate
88b3373e5c
Add option to enable octopus handler
2023-03-10 12:11:17 +02:00
Matt Ellis
c192f319d1
Simplify setting known options a little
2023-03-10 10:17:45 +02:00
Matt Ellis
097dfa06a6
Add a couple of convenience functions
2023-03-10 10:17:45 +02:00
Matt Ellis
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
2bc9640b88
Remove last of 'set' validation code
2023-03-10 10:17:45 +02:00
Matt Ellis
40ffddf5ef
Push toggle option validation into ':set' command
2023-03-10 10:17:45 +02:00
Matt Ellis
bd28c9da23
Push more ':set' command validation into command
2023-03-10 10:17:45 +02:00
Matt Ellis
11ef024779
Move ':set' command validation out of interface
...
Moves functions that require validation parameters to extension functions. Core interface should not require additional user facing paramter
2023-03-10 10:17:45 +02:00
Matt Ellis
40d9a201ea
Use bundle for exception messages
2023-03-10 10:17:45 +02:00
Matt Ellis
6e2ac21fab
Refactor getDefaultValue into property
2023-03-10 10:17:45 +02:00
Matt Ellis
7858cf57c6
Fix number operations for set command
2023-03-10 10:17:45 +02:00
Matt Ellis
91c8e7ebda
Rename getOptionByNameOrAbbrev
2023-03-10 10:17:45 +02:00
Matt Ellis
6332ee6955
Remove unnecessary argument text
2023-03-10 10:17:45 +02:00
Matt Ellis
3c3014fdc6
Remove unused getAbbrevs function
2023-03-10 10:17:45 +02:00
Matt Ellis
d97e4c44ee
Rename "token" and remove default argument
2023-03-10 10:17:45 +02:00
Matt Ellis
96c1094a61
Replace OptionService with VimOptionGroup
...
Leaves a skeleton, deprecated implementation of OptionService for existing external use by plugins
2023-03-10 10:17:45 +02:00
Matt Ellis
b3551b4ee5
Remove empty file
2023-03-10 10:17:45 +02:00
Matt Ellis
73b64c19ff
Move OptionValueAccessor to options package
2023-03-10 10:17:45 +02:00
Matt Ellis
418067b077
Remove unused deprecated method
...
No external usages
2023-03-10 10:17:45 +02:00
Matt Ellis
88b29d1a14
Isolate and remove deprecated code
...
Moves ToggleOption to the proper package, leaving behind a skeleton class to keep ideavim-sneak and IdeaVim-EasyMotion happy.
Removes NumberOption and related number OptionsManager properties which are only used by which-key 0.6.2, because this plugin is already broken due to a separate API change. (The plugin is expecting the command trie to use `CommandPartNode<ActionBeanClass>`, but it's actually using `CommandPartNode<VimActionsInitiator>`). Also removes `ToggleOption.value`, used by which-key
2023-03-10 10:17:45 +02:00
Matt Ellis
4540d216cb
Move StrictMode out of options package
2023-03-10 10:17:45 +02:00
Alex Plate
181d76ae7b
Improvements for octopus handler
2023-03-09 16:45:06 +02:00
filipp
72be9845fa
Fix(VIM-2885): "v:searchforward" does't work for IdeaVim
2023-03-09 15:56:34 +02:00
filipp
a6a4e50479
Add ` mark to jumplist
2023-03-09 15:29:13 +02:00
filipp
8303cafbc9
Fix(VIM-2244): nnoremap mapping doesn't work correctly
2023-03-09 14:01:35 +02:00
filipp
21aaf06a63
Add split function
2023-03-08 19:21:02 +02:00
Alex Plate
0e96819e86
Update creation of execution context
2023-03-08 11:35:01 +02:00
filipp
b94b4eea04
Better per caret register storage
2023-03-07 22:31:08 +02:00
filipp
2c9aa8e30e
FIX(VIM-2881): ReplaceRegister does no longer worker with MultiCursor
2023-03-07 17:24:19 +02:00
Alex Plate
5b636b2b5e
Perform code cleanup
2023-03-03 17:57:42 +02:00
Alex Plate
e788ea6d7f
Remove unused deprecated field
2023-03-03 17:57:41 +02:00
Dominic Palmer
dd69d0fad2
Prevent viewport displacement on undo
2023-03-01 17:41:59 +02:00
filipp
8fe6c8bde7
Jumps refactoring
2023-02-28 13:11:08 +02:00
Alex Plate
6e854eb889
Update formatting
2023-02-26 00:19:08 +00:00
filipp
aaf957a3c2
Fix(VIM-44): Unify navigation history between ideavim and idea
2023-02-24 14:44:53 +02:00
Alex Plate
b4764a230a
Fix small bug
2023-02-23 08:58:29 +02:00
Alex Plate
87083e03a8
Update formatting
2023-02-19 00:18:26 +00:00
Alex Plate
d49052660f
Fix(VIM-2315): Fix overlapping mappings execution
2023-02-15 10:09:37 +02:00
Alex Plate
f5299d4b75
Extract processing of the mappings into the separate file
2023-02-15 09:39:30 +02:00
Alex Plate
35b366640f
Fix compilation
2023-02-15 09:23:44 +02:00
filipp
933070fc32
Update formatting
2023-02-13 13:06:31 +02:00
filipp
ec80a20146
Rename method
2023-02-13 13:05:34 +02:00
filipp
cd46497829
Fix(VIM-282): Cursor line wrapping support (whichwrap)
2023-02-13 13:04:53 +02:00
Alex Plate
cb51a78509
Update formatting
2023-02-12 00:18:06 +00:00
filipp
6a52d0c83a
Fix visual marks if put text with multiple carets
2023-02-07 19:28:37 +02:00
filipp
0accfbd65f
Fix(VIM-1768): Delete surrounding character while in multiple cursors mode
2023-02-01 23:06:25 +02:00
filipp
6016aac675
Fix(VIM-2804): IdeaVim multiple-cursors copy and paste issue when "set clipboard+=unnamed"
2023-02-01 21:08:55 +02:00
Alex Plate
007a1694d7
Remove useless parameter
2023-02-01 19:50:48 +02:00
Alex Plate
cbf450425e
Add some docs
2023-02-01 19:45:19 +02:00
filipp
d577411e72
Fix(VIM-2850)
2023-01-27 00:20:40 +02:00
filipp
052fe75183
Fix dropLastJump
2023-01-23 13:02:35 +02:00
dependabot[bot]
5c7190710b
Bump junit-jupiter-api from 5.8.1 to 5.9.2
...
Bumps [junit-jupiter-api](https://github.com/junit-team/junit5 ) from 5.8.1 to 5.9.2.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.8.1...r5.9.2 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 10:01:10 +02:00
Alex Plate
dd76de2066
Source vimrc in template only if it exists
2023-01-23 09:34:18 +02:00
Alex Plate
1a7e3ed658
Add some fixes
2023-01-23 08:53:24 +02:00
Alex Plate
484a1f264b
Update formatting
2023-01-22 00:18:31 +00:00
filipp
e79821385d
Remove caret from method signatures in CaretRegisterStorage
2023-01-20 17:24:28 +02:00
filipp
46f0309171
VIM-2840 Replace with register does not work with count
2023-01-20 16:33:16 +02:00
Matt Ellis
308e8bfbc3
Replace default interface methods with extensions
2023-01-18 17:47:32 +02:00
Matt Ellis
11fcb17c29
Replace appendValue with :set in tests
2023-01-18 17:47:32 +02:00
Matt Ellis
9c54fbe733
Migrate isSet to option value accessor API
2023-01-18 17:47:32 +02:00
Matt Ellis
9cc206d548
Introduce friendly API for consuming options
2023-01-18 17:47:32 +02:00
Matt Ellis
8d44afc8e6
Sort option name constants
2023-01-18 17:47:32 +02:00
Matt Ellis
62ed3bd7f2
Rename option name constants
2023-01-18 17:47:32 +02:00
Matt Ellis
89889924fc
Tidy up imports
2023-01-18 17:47:32 +02:00
Matt Ellis
dda592cb39
Small refactor
2023-01-18 17:47:32 +02:00
Matt Ellis
bb44044956
Move IJ specific options out of engine
2023-01-18 17:47:32 +02:00
Matt Ellis
d95810f6e5
Sort options
2023-01-18 17:47:32 +02:00
Matt Ellis
26c275b0f5
Introduce UnsignedNumberOption
2023-01-18 17:47:32 +02:00
filipp
341dc6c58b
Post-merge fixes
2023-01-17 16:15:34 +02:00
filipp
a2364b7512
Pull request polishing
2023-01-16 19:23:13 +02:00
filipp
d2c849fceb
Post-merge fixes
2023-01-16 19:21:10 +02:00
filipp
c4e9d5d14f
Multiple carets support for marks
2023-01-16 19:19:46 +02:00
filipp
9ab9d88eb5
VimJumpService implementation
2023-01-16 18:51:11 +02:00
filipp
75ff5feccd
LastSelectionInfo now stores buffer positions instead of offset
...
Updating lastSelectionInfo after insertion & deletion
2023-01-16 18:51:11 +02:00
filipp
a4c7b38b7a
Update formatting
2023-01-16 18:51:11 +02:00
filipp
ec86608aff
Fix visual selection marks for the :move
command
2023-01-16 18:51:11 +02:00
filipp
4010854075
Multicaret gv
2023-01-16 18:51:10 +02:00
filipp
fe1ae29fa3
Better selection marks
2023-01-16 18:40:31 +02:00
filipp
8c7d0b06d1
KeySorter for MarksCommand
2023-01-16 18:40:31 +02:00
filipp
af497e6906
Post-merge fixes
2023-01-16 18:40:30 +02:00
filipp
badb61aaea
Move command no longer removes marks
2023-01-16 18:40:25 +02:00