Alex Plate
5cfed9929e
Refresh documentation for MappingScope
2025-08-08 17:43:00 +03:00
Alex Plate
e85c006321
Remove isRepeatable parameter from key mapping methods
...
First of all, this is a property of the plugin, not the mapping. Secondly, all plugins should support repeat.
2025-08-08 17:11:10 +03:00
Alex Plate
1db8d01961
Add detailed documentation for label usage in key mapping methods
...
Documented the role of `label` in providing intermediate mappings, allowing users to override default plugin mappings with custom configurations.
2025-08-08 16:23:37 +03:00
Alex Plate
9c9cd1b2a0
Bring back the function to set the mode, but in experimental status now
2025-08-08 14:28:01 +03:00
Alex Plate
fb6a97f586
Remove redundant return statement in CommandLineScope
2025-08-08 12:44:30 +03:00
Alex Plate
9d92ae9449
Remove the suspend from functions under the read or write actions
...
The suspending operations must not be performed under the read or write actions as this will lead to performance issues or freezes.
Also, the current implementation of launching coroutine under the write action is simply incorrect. The coroutine will escape the write action into another thread.
2025-08-08 12:44:30 +03:00
Alex Plate
492bd62166
Rename VimScope to VimApi and move it into a different package
...
`VimApi` would be a better entry point name. Also, the API term is clearer than the scope.
2025-08-08 12:44:30 +03:00
Alex Plate
a0c213b90d
Refactor Mode in API to be a simple enum
...
The current representation of Mode with `returnTo` is quite complicated and we're not even sure it'll remain like that.
At the same time, `mode()` function in Vim has quite a reach specification and there is a small chance it'll be changed. With this approach, we use values from Vim, yet in a form of enum.
2025-08-08 12:44:30 +03:00
Alex Plate
fee75001f6
Do not allow to change the mode from the API
...
The details why we don't want this for now are logged in the code
2025-08-08 12:44:29 +03:00
Alex Plate
df3fb1a8a3
Convert VimScope into the interface
2025-08-08 12:44:29 +03:00
Alex Plate
e2b20bb04d
Reformat API module
2025-08-08 12:44:29 +03:00
Alex Plate
add8023155
Rename @VimPluginDsl to @VimApiDsl
...
The API is a more correct term, despite the fact that the API will be mostly used from the plugins.
2025-08-08 12:44:29 +03:00
Mia Vucinic
26e33c088c
implement ksp for extensions processing
2025-08-01 16:16:26 +03:00
Mia Vucinic
06e34d6005
add a default value for isBigWord in getNextWordStartOffset and getNextWordEndOffset
2025-07-29 16:27:03 +02:00
Mia Vucinic
8ae792e74e
add return value to with and withPrimaryCaret
2025-07-29 16:23:12 +02:00
Mia Vucinic
15660a9f3d
make functions in output panel scope non suspend
2025-07-29 16:10:15 +02:00
Mia Vucinic
4282a58719
fix doc comments for count parameter
2025-07-28 10:21:40 +02:00
Mia Vucinic
55b44aab53
implement add caret and remove caret functions
2025-07-28 07:32:18 +02:00
Mia Vucinic
c95421518e
fix path handling for jump and marks
2025-07-24 17:13:41 +02:00
Mia Vucinic
5f4cd75898
remove unnecessary getNextWordStartOffset function from VimScope
2025-07-24 08:15:09 +02:00
Mia Vucinic
6abee14079
have CaretTransaction extend Read
2025-07-24 07:56:23 +02:00
Mia Vucinic
d5e64a8f28
split read into Read and ReadScope
...
- We want to be able to execute functions defined on read scope under write lock as well, which means we want to have transaction extend read. However, due to conflicting names for caret scope builders (forEachCaret, withPrimaryCaret etc.) it was necessary to split it into two scopes:
1) Read - contains only functions available under read lock
2) ReadScope - contains both caret scope builders and functions defined on Read
2025-07-23 12:01:28 +02:00
Mia Vucinic
e7ec16e8f1
remove variable locking
2025-07-22 13:46:04 +02:00
Mia Vucinic
74e213af1d
remove methods from caret transaction
2025-07-22 13:42:13 +02:00
Mia Vucinic
2aa5230aa7
fix docs
2025-07-22 13:29:41 +02:00
Mia Vucinic
ceaa74854f
add docs
2025-07-22 13:17:04 +02:00
Mia Vucinic
fd5e84eddc
add docs
2025-07-22 12:39:10 +02:00
Mia Vucinic
f5cf751a0a
move files to appropriate packages
2025-07-22 12:31:53 +02:00
Mia Vucinic
6f4bd936f9
update docs
2025-07-22 12:12:39 +02:00
Mia Vucinic
34af17d18e
rename caretAfterInsertedText to caret at end
2025-07-21 21:06:39 +02:00
Mia Vucinic
67fa38d999
add caret transaction test
2025-07-21 21:06:39 +02:00
Mia Vucinic
891b6316eb
add a replace text blockwise function
2025-07-21 21:06:39 +02:00
Mia Vucinic
9e6fb85325
add test for digraph scope
2025-07-21 21:06:39 +02:00
Mia Vucinic
f23e190849
delete on global option change listener
2025-07-21 21:06:39 +02:00
Mia Vucinic
36c2f797a9
add tests for search functions in VimScope
2025-07-21 21:06:39 +02:00
Mia Vucinic
98b19b2396
add variable tests
2025-07-21 21:06:39 +02:00
Mia Vucinic
8642f4afe9
remove suspend from some functions
2025-07-21 21:06:39 +02:00
Mia Vucinic
758809f7d5
make some functions not suspend
2025-07-21 21:06:39 +02:00
Mia Vucinic
979ef3fa1c
make api use coroutines
2025-07-21 21:06:39 +02:00
Mia Vucinic
9ca46bf150
add coroutines library to api module
2025-07-21 21:06:39 +02:00
Mia Vucinic
91ab26406b
make jetbrains annotation compileOnly in api module
2025-07-21 21:06:39 +02:00
Mia Vucinic
dbe9deec1c
add forEachEditor function
2025-07-21 21:06:39 +02:00
Mia Vucinic
c4bb7e4145
fix replace with register plugin to work in visual block mode
2025-07-21 21:06:39 +02:00
Mia Vucinic
72af6fc313
add functions from VimDigraphGroup
2025-07-21 21:06:39 +02:00
Mia Vucinic
101d94e12a
fix when some search functions return out-of-bounds offset
2025-07-21 21:06:39 +02:00
Mia Vucinic
9a79cdc3ab
add functions from vim search helper
2025-07-21 21:06:39 +02:00
Mia Vucinic
dd1c5412ed
introduce read and transaction scope for command line
2025-07-21 21:06:39 +02:00
Mia Vucinic
6cb4e2946f
delete unnecessary functions from command line scope
2025-07-21 21:06:39 +02:00
Mia Vucinic
641fd42ecf
rename getOptionValue to get and resetOptionToDefault to reset
2025-07-21 21:06:39 +02:00
Mia Vucinic
ee64316676
introduce option scope
2025-07-21 21:06:39 +02:00