• 0.3.0 4a66f6c663

    0.3.0 Stable

    jkaindl released this 2026-07-27 19:07:58 +00:00 | 1 commits to main since this release

    Added

    • The pattern is now a form, not a display. Regex, replacement and flags are editable
      right in the panel; the preview recomputes after a short typing pause. g is shown but
      not offered — compileRule enforces it, and a switch that switches nothing would be a
      lie. Below the fields, the pattern still appears in /pattern/flags notation with the
      flags that actually ran.
    • A way in without the model. "or write the pattern yourself" under the preview button
      opens the same preview with an empty pattern. No tab, no mode, no second state — and the
      way back is the same Discard button as always.
    • Copy the pattern to the clipboard as /pattern/flags.
    • A static regex cheat sheet, collapsible, right under the fields. No model, no
      network. It sits in the rule container, so it stays open while you type.
    • The model's reasoning, collapsed, below the explanation — when thinking is on and the
      model actually thought.

    Changed

    • A rule edited by hand becomes its own history entry, "Edited by hand". The model's
      version stays and remains selectable; typing further changes that one entry instead of
      growing the list. Refining from an edited version continues from that rule.
    • A risky pattern written by hand is now a warning, not a refusal. The preview pauses,
      the reason is named, and "Run it anyway" releases it — for exactly that pattern. Change
      one character and the warning returns: a release for (a+)+b says nothing about
      (a+)+bc.
    • Rules with too many matches are stopped rather than shown (limit: 500). A pattern
      like a* matches the empty string at every position; showing a truncated list and
      applying it anyway would break the one promise this plugin makes — that what happens is
      what you saw.

    Fixed

    • A released risky pattern can no longer freeze Obsidian. "Run it anyway" now first
      runs the pattern against a 20-character sample and measures it. Backtracking blowup
      grows exponentially with input length, so a pattern that is already slow on 20
      characters would effectively never finish on a long line — and Obsidian cannot cancel a
      running pattern (no web workers). The message names the measurement and the longest line
      so the reasoning is checkable. This is a brake, not a guarantee.
    • The /pattern/flags line no longer goes stale while you type. It sat in the rule
      container, which is deliberately not redrawn during editing, so it kept showing the
      previous round's pattern — the exact class of bug this plugin exists to prevent.
    • The model's explanation is dropped once you edit the rule by hand. It described the
      model's pattern, not the one that now runs. The model's own version keeps its
      explanation in the history.
    • The cheat sheet is easier to find: icon and accent colour instead of a bare disclosure
      triangle.
    • npm run lint now fails on warnings (--max-warnings 0). ESLint exits 0 on warnings
      while the community store scanner reports them, so a finding could sit in a green gate.
    Downloads