diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-09-16 01:34:45 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-09-16 01:34:45 +0200 |
| commit | ecfaeabf2a92e26c6a521d5fac404a0fff6263b6 (patch) | |
| tree | 4147dd6809a45fe5b773447352354dbee2295900 /docs | |
| parent | be4b1275c76b9cad984dfafaa8023db94eb3eecf (diff) | |
| download | krino-ecfaeabf2a92e26c6a521d5fac404a0fff6263b6.tar.gz krino-ecfaeabf2a92e26c6a521d5fac404a0fff6263b6.zip | |
milestone 1 review: claims span the run, explain's chain is opt-in and its own, overrides keyed by clean path, splice and enum guards
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/gui-design.md | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/docs/gui-design.md b/docs/gui-design.md index d377bb2..a7c5089 100644 --- a/docs/gui-design.md +++ b/docs/gui-design.md @@ -55,10 +55,13 @@ Made first, each tested through the CLI's existing tests as well as new ones: - **Load with overrides.** `engine.LoadWith(mainFile, overrides map[string][]byte, names...)` loads the configuration with some files' text replaced in memory, so unsaved editor text is checked exactly as a run would read it. -- **Explain with outcomes.** `Explain` also returns, per matching rule, the - capture values, and the chain the file would get (each step's action, - destination after placeholders and conflicts, skip reason), so the test - pane shows `{1}=2026` and `→ Pictures/Screenshots/2026-09/`. +- **Explain with outcomes.** `Explain` returns, per matching rule, the + capture values; `ExplainWithChain` also returns the chain this file alone + would get (each step's action, destination after placeholders and + conflicts with what is on disk, skip reason), so the test pane shows + `{1}=2026` and `→ Pictures/Screenshots/2026-09/`. A clash with another + file of the same plan is resolved in the Plan tab, not here; the CLI's + `explain` does not ask for the chain, since building it can read files. - **Printer and splice.** `internal/config` gains a printer for rule and exclude forms (two-space indentation as in `examples/`) and a splice that replaces one form's byte range (`sexp.Node.Pos`/`End`) and nothing else. |
