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
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
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
Matt Ellis
e6ed15c772
Fix command line missing due to empty colour
...
Fixes VIM-3993
2025-08-08 11:57:12 +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
621969faec
implement a new way for registering extensions
2025-08-01 16:16:26 +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
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
Mia Vucinic
72accdd186
remove exception throwing from getFocusedEditor function
2025-07-28 10:26:51 +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
Alex Plate
e13deb48cc
Fix: Respect isIdeaVimDisabledHere flag in OctopusHandler
2025-07-25 13:13:29 +03:00
Matt Ellis
8ab7122e65
Fix issues with new islands theme
...
Stops the new frame background showing in the output panel, and returns the coloured background for the mode status bar widget.
2025-07-25 09:54:53 +03:00
Mia Vucinic
9d09f824df
fix executeNormalWithoutMapping function
2025-07-24 08:16:23 +02:00
Mia Vucinic
256fe515b0
add resetting for mocks in tests
2025-07-22 15:31:11 +02:00
Mia Vucinic
e7ec16e8f1
remove variable locking
2025-07-22 13:46:04 +02:00
Mia Vucinic
0b8a72de95
return VimHighlightedYankTest.kt to previous state
2025-07-22 13:33:48 +02:00
Mia Vucinic
359769733c
return VimListenerManager.kt to previous state
2025-07-22 13:33:12 +02:00
Mia Vucinic
8bf60bcb68
add lines to VimExtension and VimExtensionRegistrar.kt
2025-07-22 13:30:53 +02:00
Mia Vucinic
96734867e5
revert VimExtension to previous state
2025-07-22 12:52:11 +02:00
Mia Vucinic
cc9a39fa6d
revert VimExtensionRegistrar to previous state
2025-07-22 12:50:49 +02:00
Mia Vucinic
4d680465fb
delete vim plugin base
2025-07-22 12:48:14 +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
657f7f5f9c
fix modal input tests after rebasing
2025-07-22 08:22:45 +02:00
Mia Vucinic
b3561c8b1e
revert "attempt to have extensions disabled when the ideavim plugin is turned off"
...
This reverts commit cfc3b827ea327eedb15d3e9d48c26228db67b153.
2025-07-21 21:06:39 +02:00
Mia Vucinic
38a4512b00
revert "convert VimExtension file to Kotlin"
...
This reverts commit 58c84a7d3af3fc3a3c597949e059d86784825697.
2025-07-21 21:06:39 +02:00
Mia Vucinic
b96498a564
revert "make init function in VimExtension suspend"
...
This reverts commit 87dba1e2951d22b8a62d5c45e9ea20720dbacec2.
2025-07-21 21:06:39 +02:00
Mia Vucinic
85c3a78fb4
revert "make init function in VimPluginBase suspend"
...
This reverts commit 9d0d941adab09b03b7c2287a5e8ffd3fa4626dd4.
2025-07-21 21:06:39 +02:00
Mia Vucinic
62c816c80e
refactor insert and replace text in caret transaction impl
2025-07-21 21:06:39 +02:00