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:
@@ -129,6 +129,12 @@ pub enum Action {
|
||||
/// refreshes the table list + schema cache.
|
||||
Undo,
|
||||
Redo,
|
||||
/// Copy text to the system clipboard (the `copy` command, ADR-0041).
|
||||
/// The `App` builds the full text from `App.output` (so `update`
|
||||
/// stays pure); the runtime performs the I/O — emit an OSC 52 escape
|
||||
/// to the terminal *and* a best-effort native write, ignoring native
|
||||
/// failure (a headless host is fine; OSC 52 carried it).
|
||||
CopyToClipboard(String),
|
||||
/// User changed the input mode mid-session (the `mode` command).
|
||||
/// The runtime records it through the worker so `project.yaml`
|
||||
/// reflects the live mode and it is restored on the next open
|
||||
|
||||
Reference in New Issue
Block a user