From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: George Brown <321.george@gmail.com>, git@vger.kernel.org
Subject: Re* [PATCH] contrib/git-jump: cat output when not a terminal
Date: Mon, 11 May 2020 09:46:34 -0700 [thread overview]
Message-ID: <xmqqy2pyqv11.fsf_-_@gitster.c.googlers.com> (raw)
In-Reply-To: <20200511154226.GC1415@coredump.intra.peff.net> (Jeff King's message of "Mon, 11 May 2020 11:42:26 -0400")
Jeff King <peff@peff.net> writes:
> On Mon, May 11, 2020 at 08:36:05AM -0700, Junio C Hamano wrote:
>
>> > So I'm OK to leave the status quo and let people use the GIT_EDITOR
>> > solution in this instance. But I'd also be happy to take a patch for
>> > "--no-editor" or similar if somebody wants to work it up.
>>
>> I actually would support --no-editor. One thing nobody noticed so
>> far is that "git-jump" is only compatible with editors that support
>> the "-q" option from the command line, and "cat" is not among them.
>
> Oh, good point. GIT_EDITOR='cat -- 2>/dev/null' works, but is rather
> obscure. :)
Lest we all forget...
-- >8 --
Subject: git-jump: just show the list with the "--no-editor" option
The "git jump" script (in contrib/) creates a list of interesting
places to be visited in an editor, and then open the editor to visit
the place. Some editors, however, can read the list directly and
use it to visit these places (e.g. vim's quickfix list, or emacs's
find-grep/compilation buffer) and do not want "git jump" to invoke
a separate editor.
Users can _almost_ do this already by setting GIT_EDITOR to "cat",
except that "git jump" assumes that the editor it spawns support a
"-q" option from the command line, and unfortunately "cat" is not
among such editors.
Teach it the "--no-editor" option, which tells the command to show
the list it generated to its standard output.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
contrib/git-jump/git-jump | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/contrib/git-jump/git-jump b/contrib/git-jump/git-jump
index 931b0fe3a9..26a7159053 100755
--- a/contrib/git-jump/git-jump
+++ b/contrib/git-jump/git-jump
@@ -2,7 +2,7 @@
usage() {
cat <<\EOF
-usage: git jump <mode> [<args>]
+usage: git jump [--no-editor] <mode> [<args>]
Jump to interesting elements in an editor.
The <mode> parameter is one of:
@@ -64,6 +64,18 @@ mode_ws() {
git diff --check "$@"
}
+edit=yes
+
+while case "$#,$1" in
+ 0,*) break ;;
+ *,--no-editor) edit=no ;;
+ *,--*) usage >&2; exit 1 ;;
+ *) break ;;
+ esac
+do
+ shift
+done
+
if test $# -lt 1; then
usage >&2
exit 1
@@ -75,4 +87,9 @@ tmp=`mktemp -t git-jump.XXXXXX` || exit 1
type "mode_$mode" >/dev/null 2>&1 || { usage >&2; exit 1; }
"mode_$mode" "$@" >"$tmp"
test -s "$tmp" || exit 0
-open_editor "$tmp"
+
+case "$edit" in
+yes) open_editor "$tmp" ;;
+no) cat "$tmp" ;;
+esac
+
next prev parent reply other threads:[~2020-05-11 16:46 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-09 19:15 [PATCH] contrib/git-jump: cat output when not a terminal George Brown
2020-05-09 21:41 ` Junio C Hamano
2020-05-09 22:04 ` George Brown
2020-05-09 23:42 ` Junio C Hamano
2020-05-10 9:03 ` George Brown
2020-05-10 16:47 ` Junio C Hamano
2020-05-10 17:33 ` George Brown
2020-05-10 18:12 ` Junio C Hamano
2020-05-10 18:34 ` George Brown
2020-05-10 19:10 ` Junio C Hamano
2020-05-10 19:25 ` George Brown
2020-05-10 19:38 ` Junio C Hamano
2020-05-10 20:20 ` George Brown
2020-05-11 14:31 ` Junio C Hamano
2020-05-11 14:31 ` Jeff King
2020-05-11 15:36 ` Junio C Hamano
2020-05-11 15:42 ` Jeff King
2020-05-11 16:46 ` Junio C Hamano [this message]
2020-05-12 19:23 ` Re* " Jeff King
2020-05-12 21:30 ` Junio C Hamano
2020-05-13 4:52 ` Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqy2pyqv11.fsf_-_@gitster.c.googlers.com \
--to=gitster@pobox.com \
--cc=321.george@gmail.com \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).