1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2026-04-16 23:44:10 +02:00
Commit Graph

1961 Commits

Author SHA1 Message Date
Alex Plate
a0a3f3f3b1 Fix an exception during the renaming: there was a read action missing 2025-08-22 11:22:38 +03:00
Alex Plate
aa539e76eb Rename RWLockLabel to VimLockLabel and other annotations
Also, clarify their usage
2025-08-22 11:22:38 +03:00
Alex Plate
ddb4c5ec81 Comment out listeners scope. It does require an accurate and proper review and design 2025-08-08 18:07:59 +03:00
Alex Plate
22e6ba3b3c Refactor DigraphScopeImpl to be an object and simplify digraph method logic 2025-08-08 18:04:09 +03:00
Alex Plate
e2a089fbeb Remove function to clearing all custom digraphs
This function is not provided by vim and by using it from the plugins we may drop the digraphs created by other plugins.
It'd be better to provide a just remove function. However, let's skip it for now. Also, maybe we should use an approach with the owners
2025-08-08 18:00:30 +03:00
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
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
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
Mia Vucinic
3cb5308193 fix failing tests 2025-08-01 16:16:29 +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
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
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
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
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
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
a45b642d1e fix exceptions 2025-07-24 09:26:16 +02:00
Mia Vucinic
5d731ff818 fix editor size 2025-07-24 08:15:47 +02:00
Mia Vucinic
5f4cd75898 remove unnecessary getNextWordStartOffset function from VimScope 2025-07-24 08:15:09 +02:00
Mia Vucinic
9443f16551 remove unused variable and some comments 2025-07-24 08:00:00 +02:00
dependabot[bot]
e0c7f05c1e Bump org.junit.jupiter:junit-jupiter-api from 5.13.3 to 5.13.4
Bumps [org.junit.jupiter:junit-jupiter-api](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-api
  dependency-version: 5.13.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-23 18:32:42 +03:00
dependabot[bot]
f474d44d27 Bump org.junit.vintage:junit-vintage-engine from 5.13.2 to 5.13.4
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) from 5.13.2 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.2...r5.13.4)

---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
  dependency-version: 5.13.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-23 18:32:32 +03: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
246e6e4444 remove onRemove method from listener 2025-07-22 13:41:18 +02:00
Mia Vucinic
02a9d284b3 repackage files 2025-07-22 12:47:00 +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
62c816c80e refactor insert and replace text in caret transaction impl 2025-07-21 21:06:39 +02:00
Mia Vucinic
1b1d5815f4 fix validating offsets for replace text 2025-07-21 21:06: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
b00274699d add option scope test 2025-07-21 21:06:39 +02:00
Mia Vucinic
9e6fb85325 add test for digraph scope 2025-07-21 21:06:39 +02:00