Skip to content

strop v0.29.0

Choose a tag to compare

@github-actions github-actions released this 12 Sep 08:08
· 44 commits to main since this release

Whole-editor polish and one query language (0051).

Added

  • Shared language:, path:, glob:, text:, regex:, visibility and case
    qualifiers across file finding, grep and replacement. Filter-only file queries
    work; invalid/incomplete queries cannot silently broaden a search or apply edits.
  • Parser-driven highlighting and Ctrl-Space query suggestions, shared modal field
    geometry, and separate visible hidden/ignored controls. Unignored dotfiles are
    included by default; repository internals remain excluded.
  • Source-specific indentation controls (:tab-size, numeric/Auto forms and
    :indent-style) with conservative detection and explicit provenance.
  • Passive source-aware delimiter highlighting through the shared cancellable
    resolver, including collection projection and stale-result rejection.
  • Explicit replacement review, Apply and Save stages. :save-change opens an
    owned per-file persistence receipt; open and previously unopened files behave alike.

Changed

  • Collection edits publish to sources and other views while typing, with source
    syntax, context expansion, independent match counts and ordinary Insert grouping.
  • Temporary outputs and jump history share complete, journal-remapped view records.
    Modelines identify the effective input owner; split identity, source settings,
    Unicode clipping and full logical-row selection share display-cell geometry.
  • Replacement rows and review buffers use source identities and exact diff roles.
    Shell output preserves command/cwd, both streams and the completion/failure stage.
  • Ranking coalesces updates while one snapshot is in flight. The 100k-result probe
    fell from roughly 2 GB peak live heap to 51 MB, rather than queueing a snapshot for every stream batch.
  • Source-to-view publication uses exact journal edits, preserving collection
    carets, marks and jump history through undo and structural source refreshes.
  • Oversized collection, renderer, LSP and regression modules are split by responsibility.

Fixed

  • Dirty source previews refresh on picker re-entry; cancelled/failed reads are
    retryable without relabeling old content as a new source.
  • Replacement checks complete line witnesses, including regex context and empty
    matches. Edited review buffers cannot apply a hidden older proposal.
  • Collection save/close tracks admitted source writes, including remote receipts;
    unrelated completions, failures and newer edits cannot close the view.
  • Grouped collection history preflights every source's authority and revision capacity.
    Formatter warnings survive persistence, and stale formatting cannot save newer edits.
  • Late hover replies cannot consume typing; query diagnostics remain visible without
    overlapping titles or advertising controls that the active field does not own.

Migration: old -t/-g picker syntax is now ordinary literal text; use the named
qualifiers and :help query. In-buffer Vim search is unchanged. Replacement values
remain literal, including $1. Older unversioned semantic captures refuse replay.