Commit Graph
10592 Commits
Author SHA1 Message Date
1grzyb1 196cbdb6c6 VIM-4223 proper hide command abbreviation
with `hi[de]` users that had hi in their ideavimrc expected it to change highlight, but it was closing editor instead
2026-05-14 06:55:05 +00:00
1grzyb1 0cfe720fca VIM-4223 proper hide command abbreviation
with `hi[de]` users that had hi in their ideavimrc expected it to change highlight, but it was closing editor instead
2026-05-14 06:55:05 +00:00
1grzyb1 3b268f38c3 VIM-4217 Persist widget state
Previously we changed widget variables from vim variables to global one but those are not being persisted. We should not persist then so we've decided to persist them in `ModeWidgetSettings` and override if user will manually set global variable
2026-05-13 11:32:29 +00:00
1grzyb1 6d6938bcfc Force use java 25 in toolchain 2026-05-13 10:29:43 +00:00
1grzyb1 5d6622b77e Use only jbr cache repository 2026-05-13 09:48:47 +00:00
1grzyb1 2b4a4eeff4 Add jbr cache repo per module 2026-05-13 08:45:11 +00:00
1grzyb1 c04f4485dc Use jetbrains cache repository first 2026-05-13 08:17:54 +00:00
1grzyb1 09e630c7ae Add jetbrains cache redirector urls to gradle 2026-05-13 07:28:44 +00:00
1grzyb1 0b952a0152 Use java 25 in teamcity builds 2026-05-13 06:45:56 +00:00
1grzyb1 4225b32f55 Update java to version 25 2026-05-12 11:34:21 +00:00
1grzyb1 7bf2c9196d Align content module names with plugin.xml so 2026.1 finds them 2026-05-12 08:06:28 +00:00
1grzyb1 95fb5baa62 Update plugin descriptor to match 2.16.0 2026-05-12 06:51:20 +00:00
IdeaVim Bot 9f9dfb36e7 Add AndDe-gourav to contributors list 2026-05-11 10:08:40 +00:00
AndDe-gourav 8ba793c99e Fixed createFile function 2026-05-11 06:36:04 +00:00
AndDe-gourav 304484714a Add tests for :edit file creation (VIM-266)
# Conflicts:
#	src/test/java/org/jetbrains/plugins/ideavim/ex/implementation/commands/EditFileCreateTest.kt
#	tests/split-mode-tests/src/test/kotlin/com/maddyhome/idea/vim/split/EditFileCreateSplitTest.kt
2026-05-11 06:36:04 +00:00
AndDe-gourav 3d4ef6b366 Use VfsUtil.createDirectoryIfMissing instead of blocking IO 2026-05-11 06:36:04 +00:00
AndDe-gourav 20e433f303 Implement Vim-compatible :edit behavior by creating file if it does not exist 2026-05-11 06:36:04 +00:00
Alex PlateandClaude Opus 4.7 16ac7e3806 Suppress acejump package warning in plugin verification
After bumping intellij-platform-gradle-plugin to 2.16.0, the
verifier defaults to checking against two IDEs (latest stable +
EAP) and reports "Package 'org.acejump' is not found" twice. The
verifier's classpath only contains bundled IDE plugins; AceJump
is a third-party Marketplace plugin we integrate with optionally
in :modules:ideavim-acejump.

Add "org.acejump" to externalPrefixes so the verifier knows those
references come from outside the IDE's own bundle and shouldn't
fail compatibility verification.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 18:28:15 +03:00
Alex PlateandClaude Opus 4.7 8182d3ba17 Add IntelliJ 2026.1 to TeamCity test matrix
Now that 2026.1 is the current release (matches the default
ideaVersion in gradle.properties), run the standard test suite
against it alongside Latest EAP and 2025.3.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 18:22:03 +03:00
Alex PlateandClaude Opus 4.7 f7a5585462 Disable IdeaVimExtension in compatibility check
The plugin's KeepEnglishInNormalAndRestoreInInsertExtension.init()
calls exExceptionMessage("option not found") with a bundle key that
doesn't exist in IdeaVimEngineBundle.properties, so plugin-verifier
flags it as a missing-property compatibility problem against
latest-IU. This is a bug in the external plugin, not IdeaVim.

Comment out the verifier invocation until upstream
(github.com/hadix-lin/ideavim_extension) is fixed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 17:33:29 +03:00
Alex PlateandClaude Opus 4.7 0940cded06 Use non-inline EventFields.Enum overload to fix 262 EAP compile
The 262 EAP platform jars are compiled with -target 25 (bytecode
v69). The reified inline form EventFields.Enum<HandledModes>(name)
forces Kotlin to inline that platform bytecode into our :compileKotlin
output, which targets 21 (bytecode v65) and rejects the inline with:

  Cannot inline bytecode built with JVM bytecode version 69 into
  bytecode that is being built with JVM target 21.

Switch to the @JvmStatic @JvmOverloads overload that takes
Class<T> — same behavior (defaultEnumTransform), no inlining.
This is the only inline-reified call from EventFields in our codebase.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 17:28:44 +03:00
Alex PlateandClaude Opus 4.7 408db2c513 Inline IdeInfo in split-mode-tests to handle 262 EAP API change
The 262 EAP refactored ide-starter (commit aa3d516047 in
intellij-community, "AT-2967 Compile time dependency on dedicated
IDE info"): IdeProductProvider was removed, and per-IDE info now
lives in dedicated modules accessed via IdeInfo.Companion.IdeaUltimate.

Constructing IdeInfo directly is the only form that compiles on
both 261 (default ideaVersion=2026.1) and 262 (LATEST-EAP-SNAPSHOT),
since the IdeInfo data-class signature is unchanged across the
refactor. Values mirror DefaultIdeaUltimate from the new
intellij.tools.ide.starter.product.idea.ultimate module.

This unblocks :tests:split-mode-tests:compileTestKotlin on the
Latest EAP TeamCity build, which was failing with "Unresolved
reference 'IdeProductProvider'".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 17:00:02 +03:00
Alex PlateandClaude Opus 4.7 7b10aecebb Bump IntelliJ Platform Gradle Plugin to 2.16.0
The latest IntelliJ EAP ships module-descriptors.xml with new
namespace and visibility attributes (e.g. namespace="jetbrains",
namespace="$legacy_jps_library") that 2.11.0's strict xmlutil
deserializer rejects with UnknownXmlFieldException, blocking
:intellijPlatformTestClasspath resolution and preventing :test
from being scheduled at all on the Latest EAP TeamCity build.

2.12 accepted namespace/visibility, 2.15 introduced a tolerant
parser for the 262.* IDE format, 2.16 added $legacy_jps_module
namespace handling. The positional 3-arg create(type, version,
Boolean) overload was dropped in 2.15, so property-tests is
switched to the lambda form already used by every other module.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 16:24:42 +03:00
Alex PlateandClaude Opus 4.7 8b74fa25a5 Register dev.ckob.lazygit in plugin compatibility checks
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 16:07:14 +03:00
Alex PlateandClaude Opus 4.7 7db9b0b58b Switch compatibility verifier download to GitHub Releases
Move from the JetBrains Space-hosted custom verifier jar to a release
asset on the AlexPl292/intellij-plugin-verifier fork, and document the
refresh workflow (pull upstream, re-apply the dev-channel patch, run
publish-verifier-cli.yml, bump the URL).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 15:48:43 +03:00
Alex Plate 0527ad3359 Remove TeamCity TypeScript scripts smoke test
The smoke test served its purpose of verifying TypeScript scripts
can run on TeamCity. Other scripts-ts/ automation is unaffected.
2026-05-08 12:34:21 +03:00
claude[bot]andClaude Sonnet 4.6 4f95756351 refactor(PlaybackRegisterAction): replace arrayOf workaround with idiomatic Kotlin
The `arrayOf(false)` pattern was a Java-style workaround for capturing a
mutable variable, unnecessary here since there are no lambdas involved.
Replace with a `var`, use `when` as an expression with a direct `return`,
and swap the manual while-loop counter for a `for` range.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 12:10:30 +03:00
Alex Plate c17bb06f8a Remove trailing whitespace in Graphemes.kt 2026-05-08 11:41:57 +03:00
claude[bot]andClaude Sonnet 4.6 7f23a06447 Update changelog: g; g, changelist navigation, tab command completion, VIM-4226 fix
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 06:16:26 +00:00
1grzyb1 5bb18a2cb7 feat(VIM-519): cycle through recent edits with g; and g,
Implements g; and g, to walk through the per-buffer change list, mirroring Neovim's b_changelist semantics. The list is fed by the backend's RecentPlacesListener over an RPC topic (the same pattern as the existing jump service), so it works in both monolith and split mode.
2026-05-06 08:37:14 +02:00
1grzyb1 7d6315af2d feat(VIM-258): tab command completion
Add command completion on tab press in ex panel. Now we support both file name completions and command completions
2026-05-05 10:24:14 +02:00
1grzyb1 ff7b392e67 fix(VIM-4226): check if editor is disposed on focus
There were race condition when user opened ex panel and after closing editor might be disposed for some reason which resulted in unhandled exception and complete loss of focus
2026-05-05 09:36:29 +02:00
claude[bot]andClaude Sonnet 4.6 2e5c5d815c Update changelog: mode() function, NERDTree fix, e flag fix
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 06:09:10 +00:00
1grzyb1 e8c12a5526 fix(VIM-4224): respect e flag in search patterns 2026-05-04 12:33:56 +02:00
1grzyb1 4fc912eee7 feat(VIM-3975): support vim mode() function 2026-05-04 12:18:02 +02:00
1grzyb1 f4418b833f fix(VIM-4196): restore file selection after esc in nerdtree 2026-05-04 11:40:27 +02:00
1grzyb1 925cdbd8ac fix(VIM-4211): commit window work with conventional commits plugin
Conventioal Commits plugin was replacing `Dummy.txt` commit window file with it's own. In this commit we redesign checking if editor is commit window by getting editor key for commit window
2026-05-04 10:10:46 +02:00
claude[bot]andClaude Sonnet 4.6 bc5ac2bcf4 Update changelog: VIM-4221 incsearch error sound fix
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 06:15:32 +00:00
dependabot[bot] 9278425a5d Bump org.jetbrains.kotlin:kotlin-stdlib from 2.3.10 to 2.3.21
Bumps [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) from 2.3.10 to 2.3.21.
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
  dependency-version: 2.3.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-29 15:38:43 +00:00
dependabot[bot] 26b9515279 Bump gradle-wrapper from 9.4.1 to 9.5.0
Bumps [gradle-wrapper](https://github.com/gradle/gradle) from 9.4.1 to 9.5.0.
- [Release notes](https://github.com/gradle/gradle/releases)
- [Commits](https://github.com/gradle/gradle/compare/v9.4.1...v9.5.0)

---
updated-dependencies:
- dependency-name: gradle-wrapper
  dependency-version: 9.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-29 15:36:48 +00:00
1grzyb1andClaude Opus 4.7 a41f197bc5 VIM-3948: document VimEverywhere plugin
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 13:15:05 +02:00
1grzyb1andClaude Opus 4.7 e551bfe535 VIM-3948: rebind Toggle Hints to avoid AI Assistant conflict
Ctrl+\ collides with the JetBrains AI Assistant's "Ask AI in Editor"
binding. Move the hints overlay to Ctrl+Shift+\ on the default keymap
and Ctrl+Cmd+\ on macOS.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 13:15:05 +02:00
1grzyb1 093244c07d FIX(VIM-4221) Don't make angry sounds on search
When incsearch was true, we made the error sound on ech keypress if regex was invalid
2026-04-29 09:15:43 +02:00
claude[bot]andClaude Sonnet 4.6 a08c253e6c Update changelog: VIM-4202 C/C++ comment space fix, VIM-4219 null check
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 06:14:58 +00:00
1grzyb1 073d3b40d5 VIM-4202 Add space after c langauges comments
normally space is added by rider/clion backend which we cannot directlly execute as it is not running on JVM. Workaround is to specify space flag for comment handler
2026-04-28 13:13:56 +02:00
1grzyb1 281039c76e FIX(VIM-4219) check for in VimPLugin is not null
sometimes where the plugin was being unloaded, getInstance might return null
2026-04-28 12:38:51 +02:00
1grzyb1andClaude Opus 4.7 ec06a522da Wrap split mode tests with xvfb-run
The agent has Xvfb installed but no X server is actually running on
:99, so the frontend IDE crashes at startup with
'Can't connect to X11 window server using :99'. Use `xvfb-run -a` to
spin up an Xvfb on a free display for the duration of the build, and
let it manage DISPLAY itself (drop the static env.DISPLAY=:99 param).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 10:21:42 +02:00
1grzyb1andClaude Opus 4.7 c6ca4428ba Drop Xvfb startup from split mode tests script
Xvfb is already running on the agent, so the build step doesn't need
to start it. Reduce the step to just the gradle invocation.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 09:29:29 +02:00
1grzyb1andClaude Opus 4.7 a440bcb108 Re-enable split mode tests in TeamCity
Xvfb is now installed on the TeamCity agent, so the VCS trigger and
the install step can be removed. Reverts the disable from 34196bc0d.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 09:00:26 +02:00
claude[bot]andClaude Sonnet 4.6 4be7a68ebd Update changelog: VIM-4209 Esc in Rider popup, VIM-4211 commit window fix
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 06:16:05 +00:00