1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2026-05-03 17:03:08 +02:00
Commit Graph

169 Commits

Author SHA1 Message Date
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