summaryrefslogtreecommitdiff
path: root/src/config.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/config.zig')
-rw-r--r--src/config.zig19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/config.zig b/src/config.zig
index e6597881..522ae76f 100644
--- a/src/config.zig
+++ b/src/config.zig
@@ -563,8 +563,25 @@ pub const search: []const Chord = &.{.{ .cp = '/' }};
pub const search_next: []const Chord = &.{.{ .cp = 'n' }};
pub const search_prev: []const Chord = &.{.{ .cp = 'N' }};
/// Helix `|`: in body normal mode, pipe every file selection through one
-/// command typed in the pane's visible tag-tail input.
+/// command typed in the pane's visible tag-tail input, and REPLACE each
+/// selection with what the command wrote.
pub const pipe_selection: []const Chord = &.{.{ .cp = '|' }};
+/// Helix `A-|`: the same, and throw the output away. For a command run FOR its
+/// effect — `| git add -` — where replacing the text with its chatter is the
+/// last thing you want.
+pub const pipe_selection_to: []const Chord = &.{.{ .cp = '|', .alt = true }};
+/// Helix `!`: run a command with NO stdin and insert what it wrote BEFORE each
+/// selection. `date`, a license header, the output of a generator.
+pub const insert_output: []const Chord = &.{.{ .cp = '!' }};
+/// Helix `A-!`: the same, appended AFTER each selection.
+pub const append_output: []const Chord = &.{.{ .cp = '!', .alt = true }};
+/// What the pane's tag-tail input shows while each of the four is armed, so
+/// the prompt says which one you are in — they take the same command line and
+/// do very different things to the buffer. `submitPipe` reads the command back
+/// from after the marker, so these must stay distinct and non-empty.
+pub const pipe_marker_to = " |-";
+pub const pipe_marker_insert = " !";
+pub const pipe_marker_append = " !+";
/// Enter on an armed search input runs it; `escape` (PART 3) abandons it.
pub const search_submit: []const Chord = &.{.{ .cp = Key.enter }};