From a77e342eb7fa4add700a96a661226649e8c4763f Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Fri, 31 Jul 2026 00:52:02 -0300 Subject: output panes remember the command that opened them MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit An output buffer was a file pane with a flag, and everything special about it was re-derived from outside by asking the wrong question: the buffer NAME ("+Search", "+Help"), a parallel search_kind field, and f.output predicates sprinkled through kind-agnostic code. Now it carries its Origin — the Builtin, or the lsp.Kind for the five gotos helix binds as motions rather than words — plus that command's argument, and one Traits table answers every question the scattered code used to ask: what it is called, whether n/N steps it, whether it is a doc for layout, whether Esc dismisses it, whether it saves. The name is derived FROM the command instead of being the thing that identifies it. Adding a kind of output pane is adding a row. No golden moved. --- src/config.zig | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/config.zig') diff --git a/src/config.zig b/src/config.zig index 141d8376..65ac397b 100644 --- a/src/config.zig +++ b/src/config.zig @@ -308,8 +308,10 @@ pub const grep_marker = " Grep /"; pub const rename_marker = " Rename /"; pub const symbol_marker = " WsSymbols /"; -/// Output-buffer names (acme's +Errors). Load-bearing beyond cosmetics: n/N -/// finds its results buffer by name, so the writer and the stepper must agree. +/// Output-buffer names (acme's +Errors). Cosmetic now, and deliberately so: a +/// buffer is DERIVED from the command that opened it (output_pane.traits), and +/// nothing identifies one by matching this text any more — renaming any of +/// these changes only what you read in a tag. pub const search_buffer = "+Search"; pub const help_buffer = "+Help"; pub const hover_buffer = "+Hover"; -- cgit v1.3