When user typed / twice in a row there could be race condition between deactivate and activate panel requesting focus. so becouse of focus parent in deactivate is asnyc it could happen after requestFocusInWindow in activate
Spawned TeamCity agents don't have github.com in known_hosts, causing
"Pull git tags" to fail with "Host key verification failed". Run
ssh-keyscan before the fetch so the agent trusts the host.
JBR's WLClipboard takes Wayland-side primary ownership and Mutter's
Wayland→X11 bridge is racy under rapid visual selection, so external
readers (xclip, middle-click-paste) see stale content. Route PRIMARY
writes through xclip (preferred) or wl-copy (fallback) on Wayland,
deferred past IntelliJ's CaretModelImpl.updateSystemSelection
post-yank clobber. AWT path unchanged on X11/macOS/Windows.
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
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>
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>
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>
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>
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>
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>
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>
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>
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.
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
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
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>