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
87f5a6fab3
Remove stub classes
...
This solution was initially questionable. For a long time it produced nothing but more work on implementing the stubs.
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
057f4eee5d
The ReadImpl does not inherit the VimScopeImpl
...
`ReadImpl` didn't use anything from `VimScopeImpl`. This would make sense if `Read` inherited `VimScope`, but it doesn't.
Also, we'll always be able to bring back the dependency if we figure out it's necessary.
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
Alex Plate
88e77d1bea
Add API module to the gradle config
2025-08-08 12:44:29 +03:00
Matt Ellis
e6ed15c772
Fix command line missing due to empty colour
...
Fixes VIM-3993
2025-08-08 11:57:12 +03:00
dependabot[bot]
0867dbd420
Bump org.junit.jupiter:junit-jupiter from 5.13.3 to 5.13.4
...
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework ) from 5.13.3 to 5.13.4.
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.3...r5.13.4 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
dependency-version: 5.13.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-06 18:27:06 +03:00
Mia Vucinic
3cb5308193
fix failing tests
2025-08-01 16:16:29 +03:00
Mia Vucinic
093769ee7c
add file lock to ensure exclusive access
2025-08-01 16:16:29 +03:00
Mia Vucinic
fd58a61685
remove ReplaceWithRegister options from tests
...
- since enabling and disabling extensions is no longer done using options, options in tests can be removed
2025-08-01 16:16:28 +03:00
Mia Vucinic
562ae63805
fix ReplaceWithRegister test
...
- remove unnecessary new lines in tests
2025-08-01 16:16:28 +03:00
Mia Vucinic
04603ae61f
add new extensions API handling in test
2025-08-01 16:16:27 +03:00
Mia Vucinic
807dff45a9
add a new ReplaceWithRegister plugin implementation
2025-08-01 16:16:27 +03:00
Mia Vucinic
a25b88327e
implement PlugDisable command
2025-08-01 16:16:27 +03:00
Mia Vucinic
fbb2351ec2
implement PlugEnable command
2025-08-01 16:16:26 +03:00
Mia Vucinic
621969faec
implement a new way for registering extensions
2025-08-01 16:16:26 +03:00
Mia Vucinic
26e33c088c
implement ksp for extensions processing
2025-08-01 16:16:26 +03:00
Mia Vucinic
efdd0b9910
Add docs for the new Plugin API
2025-08-01 15:44:06 +03:00
Alex Plãte
38fba69c33
Merge pull request #1246 from JetBrains/thin-api-first-draft
...
API for writing plugins
2025-08-01 15:43:46 +03:00
dependabot[bot]
4764ffbbf5
Bump org.jetbrains.changelog from 2.2.1 to 2.3.0
...
Bumps org.jetbrains.changelog from 2.2.1 to 2.3.0.
---
updated-dependencies:
- dependency-name: org.jetbrains.changelog
dependency-version: 2.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-30 18:52:03 +03:00
dependabot[bot]
2d9d000417
Bump com.squareup.okhttp3:okhttp from 4.12.0 to 5.0.0
...
Bumps [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp ) from 4.12.0 to 5.0.0.
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-4.12.0...parent-5.0.0 )
---
updated-dependencies:
- dependency-name: com.squareup.okhttp3:okhttp
dependency-version: 5.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-30 18:50:43 +03:00
dependabot[bot]
2dfaff802d
Bump io.ktor:ktor-client-auth from 3.2.2 to 3.2.3
...
Bumps [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor ) from 3.2.2 to 3.2.3.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.2.2...3.2.3 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-auth
dependency-version: 3.2.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-30 18:50:35 +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
Xinhe Wang
64033078b2
Use vimLogger instead in NerdTree
2025-07-29 10:43:43 +03:00
Xinhe Wang
ddff706ac8
Avoid NERDTree getting stuck by an invalid key sequence
...
This is not a complete fix, but a temporary measure to prevent it
from stopping responding.
2025-07-29 10:43:43 +03:00
Xinhe Wang
2e55cc1af8
Fix(VIM-3437): correct the behavior of NERDTree-X
2025-07-29 10:43:43 +03:00
Xinhe Wang
33f04869bf
Fix(VIM-3985): correct the behavior of NERDTree-x
2025-07-29 10:43:43 +03:00
Xinhe Wang
aeaceca76e
Extract navigation-related NERDTree actions to make them reusable
...
Code is simplified in this commit but the actual behavior remains unchanged
2025-07-29 10:43:43 +03:00
Xinhe Wang
e587161169
Refactor NerdAction
...
Removing `project` parameter from NerdAction.Code.action makes it
possible to extend NERDTree support to all tree components other
than the Project tool window.
2025-07-29 10:43:43 +03:00
Xinhe Wang
b3fd205148
Extract dispatcher logic from NerdTree into AbstractDispatcher
2025-07-29 10:43:43 +03:00
Xinhe Wang
4558c3f5c8
Encapsulate KeyStrokeTrie in extension.nerdtree.Mappings
...
This avoids external manipulation of the KeyStroke set, resulting
in data inconsistency.
2025-07-29 10:43:43 +03:00
Xinhe Wang
962abda86b
Convert NerdDispatcher to a light service
...
Since there's no need to expose the dispatcher, we can safely
convert it to a light service as suggested by DevKit.
See https://plugins.jetbrains.com/docs/intellij/plugin-services.html#light-services
2025-07-29 10:43:43 +03:00
Matt Ellis
7d9fa418ce
Support :k{mark} without separating whitespace
...
Fixes VIM-3915
2025-07-28 12:21:46 +03:00
Matt Ellis
68e9538ac5
Remove unnecessary special case handling of subst
...
This was added before the grammar made whitespace optional between command and argument
2025-07-28 12:21:46 +03:00
Mia Vucinic
72accdd186
remove exception throwing from getFocusedEditor function
2025-07-28 10:26:51 +02:00
Mia Vucinic
4282a58719
fix doc comments for count parameter
2025-07-28 10:21:40 +02:00
Mia Vucinic
f74552ef19
fix replaceText when editor is empty
2025-07-28 10:07:17 +02:00
Mia Vucinic
a4e9e70df7
add test for inserting empty text and fix coerceIn function
2025-07-28 07:32:29 +02:00
Mia Vucinic
3c32c8bbe7
rename VimHighlightingServiceImpl to IjVimHighlightingService and VimPluginServiceImpl to IjVimPluginService
2025-07-28 07:32:29 +02:00
Mia Vucinic
265e2e14e7
move thin api services from the extension package to the thinapi package
2025-07-28 07:32:29 +02:00
Mia Vucinic
55b44aab53
implement add caret and remove caret functions
2025-07-28 07:32:18 +02:00