Commit Graph
10430 Commits
Author SHA1 Message Date
claude[bot]andClaude Sonnet 4.6 1d6f16794e Clean up dead code and unnecessary verbosity in MultiVisitor
- Remove dead if/else in visitRange: both branches returned the same
  Multi.RangeMulti value, making the condition a no-op
- Simplify `?: run { 0 }` to `?: 0` in limited lookbehind visitors;
  a run block with a single constant expression adds no value

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 15:58:50 +03:00
claude[bot]andClaude Sonnet 4.6 5786cb7bf7 Fix incomplete KDoc comment on PatternVisitor.hasUpperCase
The comment "Determines whether the visited tree contains" was missing
what the tree contains; it now reads "contains uppercase characters".

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 15:58:50 +03:00
Alex Plate 46c07a251b Update changelog for 2.36.0 release 2026-05-22 17:03:15 +03:00
Alex Plate e1eff60d31 Migrate TeamCity build number script to TypeScript 2026-05-22 16:49:43 +03:00
Alex Plate 93da94e052 Remove fake Kotlin script configuration 2026-05-22 16:38:22 +03:00
Alex Plate e66731216b chore: update package lock 2026-05-22 16:37:53 +03:00
Alex PlateandClaude Opus 4.7 60a0d67c0f Drop manual changeNotes sync from changelog skill and PR-review prompt
`build.gradle.kts` `changeNotes` is now auto-derived from CHANGES.md at
build time via the org.jetbrains.changelog plugin, so the skill and the
claude-code-review workflow note no longer need to mention syncing it
by hand.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 14:51:42 +03:00
Alex PlateandClaude Opus 4.7 e4c8bb636b Wire pluginConfiguration.changeNotes to read from CHANGES.md
Replaces the 30-line hardcoded HTML block with a provider that renders
the matching section from CHANGES.md via the org.jetbrains.changelog
plugin (already configured). Falls back to the latest released section
during dev / SNAPSHOT builds, so patchPluginXml always produces sensible
output.

After this lands, releases no longer need a manual sync of changeNotes
against CHANGES.md — the TS promoter that runs earlier in the pipeline
is the single source of truth.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 14:47:56 +03:00
Alex PlateandClaude Opus 4.7 d824f37c19 Delete superseded Kotlin changelog promoter and commit-changes scripts
These were disabled in TeamCity since well before 2.29.0 and the TS
promoter wired in the previous commit takes over their responsibilities.

JGit stays as a dependency — still used by addReleaseTag.kt,
selectBranch.kt, calculateNewDevVersion.kt, and util.kt.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 14:39:04 +03:00
Alex PlateandClaude Opus 4.7 618bd5b185 Wire TypeScript changelog promoter into release pipeline
Replaces the long-disabled Kotlin changelogUpdateUnreleased/commitChanges
gradle steps with a new TS CLI (scripts-ts/src/promoteChangelog.ts) plus
two TC script steps:

* "Update change log" + "Commit preparation changes" — run on the
  release branch before tagging, so the release tag points at the
  promoted CHANGES.md commit.
* "Sync changelog to master" — runs after publish to mirror the
  promotion on master. Master push is soft-fail so an upstream race
  with the daily cron doesn't sink the marketplace release.

The promoter is a pure function (replace `## [To Be Released]` →
`## X.Y.Z, YYYY-MM-DD` for major/minor; no-op for patch releases per
the project convention that patches roll into the parent minor). Ten
vitest tests cover the behavior. CLI wrapper handles the TC entrypoint.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 14:35:40 +03:00
Alex PlateandClaude Opus 4.7 007c6ef155 Drop ScriptsToolingProbe TeamCity build
The probe served its diagnostic purpose: confirmed Node 22.18.0 / npm
10.9.3 / npx are available on the release-class Linux agent via nvm.
With that question answered, the build type is no longer useful.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 14:35:28 +03:00
Alex PlateandClaude Opus 4.7 847ae7343d Add TeamCity probe to check node/npm on release-class agent
One-shot diagnostic build before wiring scripts-ts CLIs (the new
promoteChangelog.ts) into the release pipeline. Runs on the same
agent requirements as ReleasePlugin (Linux, MEDIUM CPU) and prints
node/npm/npx availability and PATH. No triggers — run manually.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 13:42:18 +03:00
Alex PlateandClaude Opus 4.7 15ef84eed5 Split CHANGES.md "To Be Released" into 2.29.0–2.35.0 sections
The "To Be Released" section had accumulated everything from 2.29.0
through 2.35.x because the release pipeline's promoter step was
disabled in TC and the YouTrack ticket update step was broken (fixed
in 13b6a9ff9). Bucketed each entry to the release that first shipped
the change, using PR merge commits and git tag containment.

Per the project convention, patch releases roll into their parent
minor; 2.31.x is folded into 2.32.0 since 2.31.0 was unlisted on the
marketplace. 2.34.0 gets its own section noting it is a re-release
of 2.33.0 (same commit). VIM-3948 (Full IDE integration epic) is
excluded per the changelog skill's Vim Everywhere rule.

build.gradle.kts changeNotes synced to the 2.35.0 section.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 13:42:17 +03:00
Alex PlateandClaude Opus 4.7 dc28fdb273 Fix double URL-encoding in release YouTrack queries
Commit a1e5b6788 switched getYoutrackTicketsByQuery to ktor's
parameter() helper, which URL-encodes its value. The two release
call sites still passed pre-encoded queries, so they were encoded
again and YouTrack searched for the literal "%23{Ready To Release}…",
returning 0 tickets. Result: every minor/major release since 2.29.0
logged "No tickets to update statuses" and skipped state transitions,
version creation, and Fix-versions assignment.

Pass plain text from the call sites so parameter() encodes exactly once.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 13:36:59 +03:00
1grzyb1 14e7cfe0e7 VIM-4245 Fix repeat-insert undo grouping so one u reverts one logical change
Wrap the undo-mark only when there's actual replay work (count > 1,  block insert, or dot-repeat) — otherwise the always-fired wrap on plain `iHi<Esc>` emitted an empty mark group that swallowed the first `u`.
2026-05-22 09:41:25 +00:00
1grzyb1 95128f407b VIM-4235 use native saveFile action in :w
using FilerometeApi didn't trigger reformat on save action in splitmode/rider so I chagned it to native action execution in on save
2026-05-22 08:42:52 +00:00
1grzyb1 224156324d VIM-4245 group repeatInsert and insertPreviousInsert into single undo 2026-05-22 07:30:54 +00:00
1grzyb1andClaude Opus 4.7 6366fa23db VIM-4234 Restore IntelliJ 2026.1 for split-mode tests
The VIM-4234 rollback dropped both Java 25→21 *and* ideaVersion 2026.1→2025.3
because Java 25 was incompatible with the platform. The Java rollback was the
necessary fix; the IDE-version rollback was a side change that broke 3
split-mode tests due to 2025.3 JBC regressions in speculative undo and
`IdeDocumentHistoryImpl.RecentPlacesListener.isChanged`.

Java 21 + IntelliJ 2026.1 is the prior known-working combination
(`Ideavim_IdeaVimTests_2026_1` build config has been green on master), so
restoring it here gets all 24 split-mode tests passing again. Verified
locally and on TeamCity personal build #16791.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 06:39:44 +00:00
claude[bot]andClaude Sonnet 4.6 cba0f9c003 Update changelog: Add abolish plugin (VIM-1362)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 06:43:59 +00:00
dependabot[bot] 36c9cab683 Bump org.junit:junit-bom from 6.0.3 to 6.1.0
Bumps [org.junit:junit-bom](https://github.com/junit-team/junit-framework) from 6.0.3 to 6.1.0.
- [Release notes](https://github.com/junit-team/junit-framework/releases)
- [Commits](https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0)

---
updated-dependencies:
- dependency-name: org.junit:junit-bom
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-20 20:51:14 +00:00
dependabot[bot] 9a59af217d Bump io.ktor:ktor-serialization-kotlinx-json from 3.4.3 to 3.5.0
Bumps [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) from 3.4.3 to 3.5.0.
- [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.4.3...3.5.0)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-20 20:50:44 +00:00
dependabot[bot] 004602e59b Bump org.junit.vintage:junit-vintage-engine from 6.0.3 to 6.1.0
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) from 6.0.3 to 6.1.0.
- [Release notes](https://github.com/junit-team/junit-framework/releases)
- [Commits](https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-20 20:50:20 +00:00
1grzyb1 4cf7d6d4dc VIM-1362 Add abolish search 2026-05-20 10:40:45 +00:00
1grzyb1 6c7da4c183 VIM-1362 refactor abolish plugin to walk through substitiute command
This is the way real plugin does that, and it gives us all flags for free
2026-05-20 10:40:45 +00:00
1grzyb1 a7dcf36522 VIM-1362 Add user-defined coercion through g:abolish_coercions variable 2026-05-20 10:40:45 +00:00
1grzyb1 660753fdcd VIM-1362 Add missing coercion mappings 2026-05-20 10:40:45 +00:00
1grzyb1 3aedcceb13 VIM-1362 Add count to recase action 2026-05-20 10:40:45 +00:00
1grzyb1 6662525333 VIM-1362 Visual mode coercions 2026-05-20 10:40:45 +00:00
1grzyb1 2f0b72f933 VIM-1362 operator pending coersion mapping 2026-05-20 10:40:45 +00:00
1grzyb1 f57dbb4fa9 VIM-1362 add missing gap between original abolish plugin 2026-05-20 10:40:45 +00:00
1grzyb1 c7c82fa580 VIM-1362 Implement vim abolish plugin 2026-05-20 10:40:45 +00:00
1grzyb1 b82640018a Fix split mode tests 2026-05-20 10:23:29 +00:00
claude[bot]andClaude Sonnet 4.6 53ea1e19a8 Update changelog: q:/q? history windows, history VimScript functions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 06:44:26 +00:00
claude[bot]andClaude Sonnet 4.6 6178f423d4 Fix code style issues in mapping/digraph function handlers
- Remove double space in DigraphGetFunctionHandler
- Add missing space before != in MapFunctionHandlerBase
- Add missing space before colon in MapCheckFunctionHandler class declaration
- Move else keyword to same line as closing brace in MapSetFunctionHandler
- Remove unnecessary blank line after function opening brace in MapSetFunctionHandler

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 07:24:19 +03:00
Matt Ellis 550652e9af Restore compatibility for external plugins 2026-05-20 07:23:37 +03:00
1grzyb1 be91bf2504 VIM-833 implement command history actions
Add `q:` `q/` and `q/`
2026-05-19 10:05:00 +00:00
Matt Ellis 4402a1f001 Fix logic when reading history entries 2026-05-19 12:51:26 +03:00
Matt Ellis 02c522b352 Fix histget() with omitted index 2026-05-19 12:51:26 +03:00
Matt Ellis 2dd76658c1 Extract tracking current history from command line 2026-05-19 12:51:26 +03:00
Matt Ellis c81850982f Do not save empty command line as history 2026-05-19 12:51:26 +03:00
Matt Ellis 2bc2c5e4b2 Push clearing output panel to the test fixture 2026-05-19 12:51:26 +03:00
Matt Ellis 288e885dd9 Encapsulate HistoryBlock and make internal 2026-05-19 12:51:26 +03:00
Matt Ellis d5e917c5c6 Add histdel() history function 2026-05-19 12:51:26 +03:00
Matt Ellis 86aa74550a Add histnr() history function 2026-05-19 12:51:26 +03:00
Matt Ellis 97da421eec Add histget() history function 2026-05-19 12:51:26 +03:00
Matt Ellis 03a44d9855 Add histadd() history function 2026-05-19 12:51:26 +03:00
claude[bot]andClaude Sonnet 4.6 43566979aa Update changelog: digraph functions, C-U fix, Wayland flickering fix
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 06:43:04 +00:00
grzybek 784cd6e41a VIM-4184 remove wl-copy from primary writers
Use only xclip on wayland as wl-copy makes whole IDE flickers
2026-05-18 09:17:14 +00:00
AndDe-gourav be8558f5d1 added test for ctrl u preserves indentation 2026-05-18 11:49:13 +03:00
AndDe-gourav 872ded4bb5 change isChange to true 2026-05-18 11:49:13 +03:00