Skip to content

v0.4.0

Choose a tag to compare

@SunskyXH SunskyXH released this 14 Jun 02:16
· 6 commits to main since this release
c9fd7eb

Overview

This release restructures the search backend architecture and adds isolated backend test sandboxes.

Screen.Recording.2026-06-14.at.11.01.38.mov

Highlights

  • Split backend implementation into dedicated files:
    • ast-grep-core.el
    • ast-grep-sync.el
    • ast-grep-consult.el
    • ast-grep-ivy.el
  • Added ast-grep-search-backend to choose between auto, sync, consult, and ivy.
  • Added ast-grep-describe-backend to show the configured and resolved backend.
  • Added Eask-based test sandboxes for sync, consult, ivy, and full backend coverage.

Backend Behavior

  • auto uses counsel/ivy when ivy-mode is active and ivy/counsel are available.
  • Otherwise, auto uses consult when available.
  • Falls back to synchronous completing-read when async backends are unavailable.
  • Consult backend is tested on Emacs 29+.
  • Sync and ivy remain available on Emacs 28.1+.

Ivy Fixes

  • Fixed ivy/counsel async results not appearing in the candidate list.
  • Fixed ivy live preview support.
  • Ensured the ivy backend uses counsel's default async process lifecycle.
  • Added real counsel/ivy sandbox tests so ivy support is actually load-bearing.

Testing and CI

  • Added Eask.
  • Added backend-specific commands:
    • eask run script test:sync
    • eask run script test:consult
    • eask run script test:ivy
    • eask run script test:full
  • Updated GitHub Actions to run backend-specific matrices across supported Emacs versions.

Notes

No configuration change is required for existing users. The default backend remains auto.