git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/4] bash: update 'git stash' completion

From
SZEDER Gábor <szeder@ira.uka.de>
Date
Sep 15, 2009, 10:21 UTC
Message-ID
<0d125e60b97ab58ad51fef170fd36b707a271a10.1253009868.git.szeder@ira.uka.de>
In-Reply-To
<e927e4d3bfe50d93e5e6d65c46821158332b37f9.1253009868.git.szeder@ira.uka.de>

This update adds 'git stash (apply|pop) --quiet' and all options known to 'git stash save', and handles the DWIMery from 3c2eb80f (stash: simplify defaulting to "save" and reject unknown options, 2009-08-18). Care is taken to avoid offering subcommands in the DWIM case.

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
---
 contrib/completion/git-completion.bash |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index c539385..2529cec 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1878,18 +1878,30 @@ _git_show_branch ()
 
 _git_stash ()
 {
+	local cur="${COMP_WORDS[COMP_CWORD]}"
+	local save_opts='--keep-index --no-keep-index --quiet --patch'
 	local subcommands='save list show apply clear drop pop create branch'
 	local subcommand="$(__git_find_on_cmdline "$subcommands")"
 	if [ -z "$subcommand" ]; then
-		__gitcomp "$subcommands"
+		case "$cur" in
+		--*)
+			__gitcomp "$save_opts"
+			;;
+		*)
+			if [ -z "$(__git_find_on_cmdline "$save_opts")" ]; then
+				__gitcomp "$subcommands"
+			else
+				COMPREPLY=()
+			fi
+			;;
+		esac
 	else
-		local cur="${COMP_WORDS[COMP_CWORD]}"
 		case "$subcommand,$cur" in
 		save,--*)
-			__gitcomp "--keep-index"
+			__gitcomp "$save_opts"
 			;;
 		apply,--*|pop,--*)
-			__gitcomp "--index"
+			__gitcomp "--index --quiet"
 			;;
 		show,--*|drop,--*|branch,--*)
 			COMPREPLY=()
-- 
1.6.5.rc1.92.gee3c1
Previous: SZEDER GáborNext: SZEDER Gábor
Message 2 of 7 in “bash: rename __git_find_subcommand() to __git_find_on_cmdline()”
  1. 1/4 bash: rename __git_find_subcommand() to __git_find_on_cmdline()SZEDER Gábor, Sep 15, 2009
  2. 2/4 bash: update 'git stash' completionSZEDER Gábor, Sep 15, 2009
  3. 3/4 bash: teach 'git reset --patch'SZEDER Gábor, Sep 15, 2009
  4. 4/4 bash: teach 'git checkout' optionsSZEDER Gábor, Sep 15, 2009
  5. Shawn O. PearceSep 22, 2009
  6. [PATCHv2] bash: teach 'git checkout' optionsSZEDER Gábor, Sep 24, 2009
  7. Shawn O. PearceSep 22, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.