threads / patch / 53375

patch, 2 partsDocument how to use pipes and redirection with 'bind'

Subject: [PATCH tig 1/2] Document how to use pipes and redirection with 'bind'

## tl;dr

2 messages between May 2, 2020 and May 2, 2020. Diffs are folded; open one to read it.

replies: 1people: 1as markdown or json

Wolfram Sang· May 2, 2020, 18:41 UTC · lore

When my bind command using a pipe did not work, I grepped through the docs for 'pipe' and 'redirection' with no results. Only after I found out in the issues tracker that it was intentional, then I noticed the solution in the examples, too.

Add a paragraph to make it more explicit.
Signed-off-by: Wolfram Sang <wsa@kernel.org>
---
 doc/tigrc.5.adoc | 3 +++
 1 file changed, 3 insertions(+)
Show changes to doc/tigrc.5.adoc +3 −0
diff --git a/doc/tigrc.5.adoc b/doc/tigrc.5.adoc
index 630e8f6..1aa8085 100644
--- a/doc/tigrc.5.adoc
+++ b/doc/tigrc.5.adoc
@@ -690,6 +690,9 @@ console output shown (as if '!' was specified). When multiple command options
 are specified their behavior are combined, e.g. "?<git commit" will prompt the
 user whether to execute the command and will exit Tig after completion.
 
+Note that if you want to use pipes or redirection in your commands then you
+must run them in a subshell, i.e. embed your commands in `sh -c '<commands>'`.
+
 Browsing state variables
 ^^^^^^^^^^^^^^^^^^^^^^^^
 
-- 
2.20.1
Wolfram Sang· May 2, 2020, 18:41 UTC · re: Wolfram Sang · lore

[PATCH tig 2/2] Drop unneeded '!' in docs

Since commit 99d8d00 ("User-defined commands no longer need to be prefixed with '!'"), we don't need it anymore. Also, remove a superfluous comment.

Signed-off-by: Wolfram Sang <wsa@kernel.org>
---
 doc/manual.adoc  | 2 +-
 doc/tigrc.5.adoc | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)
Show changes to 2 files +2 −3

doc/manual.adoc, doc/tigrc.5.adoc

diff --git a/doc/manual.adoc b/doc/manual.adoc
index cf87ba1..0d772ea 100644
--- a/doc/manual.adoc
+++ b/doc/manual.adoc
@@ -208,7 +208,7 @@ Example user-defined commands:
 
  - Copy commit ID to clipboard:
 
-	bind generic 9 !@sh -c "echo -n %(commit) | xclip -selection c"
+	bind generic 9 @sh -c "echo -n %(commit) | xclip -selection c"
 
  - Add/edit notes for the current commit used during a review:
 
diff --git a/doc/tigrc.5.adoc b/doc/tigrc.5.adoc
index 1aa8085..6b40afe 100644
--- a/doc/tigrc.5.adoc
+++ b/doc/tigrc.5.adoc
@@ -780,8 +780,7 @@ file:
 	gitk-bg = !"gitk HEAD --not $(git rev-parse --remotes) &"
 	publish = !"for i in origin public; do git push $i; done"
 [tig "bind"]
-	# @-prefix means that the console output will not be shown.
-	generic = V !@git gitk-bg
+	generic = V @git gitk-bg
 	generic = > !git publish
 --------------------------------------------------------------------------
 
-- 
2.20.1

← back to recent threads