feat: copy the output panel to the system clipboard (#11)

New app-level `copy` / `copy all` / `copy last` command (ADR-0041).
Delivery is OSC 52 *and* a best-effort native write (arboard), always
both — OSC 52 acceptance is undetectable, so a true fallback can't be
built. Payload is the panel's plain text exactly as rendered (tags,
✓/✗, box-drawing), drift-locked to render_output_line. arboard added
--no-default-features (X11-only; OSC 52 covers Wayland).

Amends ADR-0003's command registry; requirements V6.
This commit is contained in:
claude@clouddev1
2026-06-02 14:23:21 +00:00
parent 1ea376be26
commit d0c8f9d5d2
25 changed files with 1203 additions and 13 deletions
+6
View File
@@ -10,6 +10,12 @@ publish = false
[dependencies]
anyhow = "1.0.102"
# Native system-clipboard for the `copy` command (ADR-0041). Text
# only: `default-features = false` drops the heavy `image` crate. On
# Linux this is X11-only — `wayland-data-control` is deliberately
# omitted (it ~doubles the dep tree), as OSC 52 covers native-Wayland
# sessions and XWayland covers the rest.
arboard = { version = "3.6.1", default-features = false }
base64 = "0.22.1"
# `clock` brings local-timezone support (UTC → machine local) for
# the undo-dialog snapshot timestamp (issue #13). No locale feature: