Commit Graph
10430 Commits
Author SHA1 Message Date
Mia Vucinic 4d01f286f5 introduce caret scope 2025-07-21 21:06:38 +02:00
Mia Vucinic 9ab97106d7 make isRepeatable false by default 2025-07-21 21:06:38 +02:00
Mia Vucinic f1cb9247d1 add mapping scope 2025-07-21 21:06:38 +02:00
Mia Vucinic e946e74840 merge two mappings into one 2025-07-21 21:06:38 +02:00
Mia Vucinic 4db3e91d6a huge refactoring
- In the `api` module:
  - remove dependency on `vim-engine` module due to circular dependencies
  - move implementations of scopes to the `vim-engine`
  - add VimPluginDsl annotation to interfaces
  - make VimScope abstract class
  - remove ScopeBuilders file and move scope builders to the VimScope abstract class
 - In the `vim-engine` module:
  - add dependency on `api` module
  - add implementation of scopes
  - in VimInjector add new field - pluginService (reason for that is because functions from VimExtensionFacade are not available in the VimEngine)
2025-07-21 21:06:30 +02:00
Mia Vucinic cf95ea1fc9 add a proper implementation for getVariableInt 2025-07-21 21:05:43 +02:00
Mia Vucinic 20fe881597 move scopes to packages 2025-07-21 21:05:43 +02:00
Mia Vucinic 617eee6237 hide instances of editor, context and VimPluginApi from the user 2025-07-21 21:05:43 +02:00
Mia Vucinic 86b9238e5f have functions in VimPluginApi take editor and context as parameters instead of scopes 2025-07-21 21:05:43 +02:00
Mia Vucinic 4583b65a3e remove VimInitPluginScope 2025-07-21 21:05:43 +02:00
Mia Vucinic a283ee02ab rename VimPluginScope to VimScope 2025-07-21 21:05:43 +02:00
Mia Vucinic 5ca3af6643 remove VimBehaviorDiffers annotation from tests where that is no longer the case 2025-07-21 21:05:43 +02:00
Mia Vucinic 08d0bcd6ec fix tests to match vim behavior 2025-07-21 21:05:43 +02:00
Mia Vucinic 8ea9b29e5e first api draft 2025-07-21 21:05:43 +02:00
Matt Ellis 7d44c87873 Move ex prompt character out of API
The prompt character is now implemented as a custom view, only in the UI, and not inserted directly into the text. This simplifies management of the text (and removes/fixes an exception due to manually handling prompt offset), and also allows highlighting of the prompt character.
2025-07-21 18:43:28 +03:00
Matt Ellis b67c3d7bab Add extra logging details
Randomly hit this condition, but don't know how
2025-07-21 18:43:28 +03:00
Matt Ellis 261b910845 Add tests for rendering control characters 2025-07-21 18:43:28 +03:00
Matt Ellis ac15372901 Use actualText instead of visibleText 2025-07-21 18:43:28 +03:00
Matt Ellis 2a603a681c Simplify implementation of VimInputInterceptor 2025-07-21 18:43:28 +03:00
Matt Ellis a208ad7598 Remove unnecessary ex cmdline without shortcuts
We don't need a secondary UI element hierarchy without shortcuts because the shortcuts are no longer handled by the UI, but by the key handler. This secondary instance was used by modal input, and this is also managed by the key handler, consuming key strokes first if a modal input prompt is active
2025-07-21 18:43:28 +03:00
Matt Ellis dde287073e Only create modal input panel when needed 2025-07-21 18:43:28 +03:00
Matt Ellis 0e07f0c78e Show special keys in a different colour
Mimics Vim's `SpecialKey` highlight. Currently uses IntelliJ's "Whitespaces" colour, which seems like the best fit.
2025-07-21 18:43:28 +03:00
Matt Ellis c0f412547f Maintain narrow caret width for non-printable chars 2025-07-21 18:43:28 +03:00
Matt Ellis ddf1612d11 Fix scrolling issues editing long command lines
Instead of replacing the whole string, which will reset scroll position, delete or insert the required text/offsets, and let the text field manage scroll position
2025-07-21 18:43:28 +03:00
Matt Ellis bf32c5d5b5 Render control characters in ex cmdline 2025-07-21 18:43:28 +03:00
Matt Ellis 6e6cd722d4 Support insertion of control chars in command line
Fixes VIM-3907, fixes VIM-239
2025-07-21 18:43:28 +03:00
Matt Ellis 356b4ed8c4 Remove unnecessary mouse listener 2025-07-21 18:43:28 +03:00
Matt Ellis 84a3d0457d Simplify and document keymap handling
All key handling is done with the Vim pipeline, so make sure we don't have any Swing key bindings registered. This is quite confusing, so document what's going on
2025-07-21 18:43:28 +03:00
Matt Ellis d4f4f7661c Remove unnecessary action registration
We don't have any custom actions, so there's nothing to register
2025-07-21 18:43:28 +03:00
Matt Ellis 0e9c3d9d87 Replace constants with enum 2025-07-21 18:43:28 +03:00
Matt Ellis 654b95147b Simplify command line keystroke dispatching
Pass the keystroke to the key handler directly rather than relying on the superclass to call a default action handler that would do the dispatching
2025-07-21 18:43:28 +03:00
Matt Ellis a2fb8acd47 Remove obsolete ExShortcutKeyAction
All CMD_LINE actions are registered the same as other Vim commands, which means all shortcuts are already registered with the IDE's action system. The existing VimShortcutKeyAction class will dispatch shortcuts to the key handler, where they will be handled as real CMD_LINE actions.
2025-07-21 18:43:28 +03:00
Matt Ellis b284deb1b7 Extract some state and accessors out of text field
Encapsulate text field a little better
2025-07-21 18:43:28 +03:00
Matt Ellis 56e6ecca89 Update history command and add tests 2025-07-21 18:43:28 +03:00
Matt Ellis 055a3bc910 Remove deprecated and unused history related code 2025-07-21 18:43:28 +03:00
Matt Ellis e2b50809ac Fix warning of renamed parameter 2025-07-21 18:43:28 +03:00
Matt Ellis 40ff54c47f Remove non-Vim key bindings from ex command line
Shift+Insert and Alt+V for paste. These are non-standard, not documented and can be added with `cmap` if required
2025-07-21 18:43:28 +03:00
Matt Ellis 1638bc304d Improve input method highlighting in ex field 2025-07-21 18:43:28 +03:00
Alex Plate f12b0b04f6 Fix the contribution name of Jakub 2025-07-18 16:06:45 +03:00
Alex Plate ea4fc85e5b Add a new plugin for the verification 2025-07-18 16:04:00 +03:00
Alex Plate 4af8fc1868 Update TC configuration to run only needed tests 2025-07-18 16:04:00 +03:00
Alex Plate 1482ac0335 Fix(VIM-3970): Get rid of VimStandalonePluginUpdateChecker 2025-07-18 16:03:59 +03:00
IdeaVim Bot 79168b00f3 Add zuberol to contributors list 2025-07-18 09:03:36 +00:00
zuberol 07990847c6 Merge pull request #1223 from JetBrains/feat/VIM-3791-nerdtree-gg-G-jumps
Feat(VIM-3791): support for "G" and "gg" motions inside the NERDtree
2025-07-17 11:44:07 +02:00
dependabot[bot] 8c40e19c44 Bump org.mockito.kotlin:mockito-kotlin from 5.4.0 to 6.0.0
Bumps [org.mockito.kotlin:mockito-kotlin](https://github.com/mockito/mockito-kotlin) from 5.4.0 to 6.0.0.
- [Release notes](https://github.com/mockito/mockito-kotlin/releases)
- [Commits](https://github.com/mockito/mockito-kotlin/compare/5.4.0...v6.0.0)

---
updated-dependencies:
- dependency-name: org.mockito.kotlin:mockito-kotlin
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-16 19:15:13 +03:00
dependabot[bot] 371769c508 Bump io.ktor:ktor-client-cio from 3.2.1 to 3.2.2
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor) from 3.2.1 to 3.2.2.
- [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.1...3.2.2)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
  dependency-version: 3.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-16 19:14:55 +03:00
dependabot[bot] 7ee34d0b27 Bump io.ktor:ktor-client-cio from 3.2.0 to 3.2.1
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor) from 3.2.0 to 3.2.1.
- [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.0...3.2.1)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
  dependency-version: 3.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 18:57:15 +03:00
dependabot[bot] d1ec7d617d Bump org.junit.jupiter:junit-jupiter-engine from 5.13.2 to 5.13.3
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit-framework) from 5.13.2 to 5.13.3.
- [Release notes](https://github.com/junit-team/junit-framework/releases)
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.2...r5.13.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 18:56:55 +03:00
dependabot[bot] 898fd0537d Bump org.junit.jupiter:junit-jupiter from 5.13.2 to 5.13.3
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) from 5.13.2 to 5.13.3.
- [Release notes](https://github.com/junit-team/junit-framework/releases)
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.2...r5.13.3)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
  dependency-version: 5.13.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 18:56:22 +03:00
Xinhe Wang 353603b546 Fix(VIM-3266): Set FileSaveCloseAction to OTHER_SELF_SYNCHRONIZED 2025-07-07 10:55:53 +03:00