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

5723 Commits

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