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

[PATCH] completion: add missing completions for log, diff, show

From
Max Rothman <max.r.rothman@gmail.com>
Date
Nov 7, 2017, 21:22 UTC
Message-ID
<0102015f985d387e-f50183c4-4b49-4a9f-b365-2a86ba24bbed-000000@eu-west-1.amazonses.com>
In-Reply-To
<CAGZ79kYKfZC1CzoGE_6G1b2vD+MCw1_rY7J_LeWyT8rp6CAuDw@mail.gmail.com>
From: Max Rothman <max-rothman@pluralsight.com>

Teach git-log tab completion about the --no-* options for ease of use at the command line.

Similarly, teach git-show tab completion about the --no-abbrev-commit, --expand-tabs, and --no-expand-tabs options.

Also, teach git-diff (and all commands that use its options) tab
completion about the --textconv and --indent-heuristic families of
options. --indent-heuristic is no longer experimental, so there's no
reason it should be left out of tab completion any more, and textconv
seems to have simply been missed.
---
 contrib/completion/git-completion.bash | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 0e16f017a4144..252a6c8c0c80c 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1412,6 +1412,8 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--dirstat-by-file= --cumulative
 			--diff-algorithm=
 			--submodule --submodule=
+			--indent-heuristic --no-indent-heuristic
+			--textconv --no-textconv
 "
 
 _git_diff ()
@@ -1752,6 +1754,10 @@ _git_log ()
 		__gitcomp "$__git_diff_submodule_formats" "" "${cur##--submodule=}"
 		return
 		;;
+	--no-walk=*)
+		__gitcomp "sorted unsorted" "" "${cur##--no-walk=}"
+		return
+		;;
 	--*)
 		__gitcomp "
 			$__git_log_common_options
@@ -1759,16 +1765,19 @@ _git_log ()
 			$__git_log_gitk_options
 			--root --topo-order --date-order --reverse
 			--follow --full-diff
-			--abbrev-commit --abbrev=
+			--abbrev-commit --no-abbrev-commit --abbrev=
 			--relative-date --date=
 			--pretty= --format= --oneline
 			--show-signature
 			--cherry-mark
 			--cherry-pick
 			--graph
-			--decorate --decorate=
+			--decorate --decorate= --no-decorate
 			--walk-reflogs
+			--no-walk --no-walk= --do-walk
 			--parents --children
+			--expand-tabs --expand-tabs= --no-expand-tabs
+			--patch
 			$merge
 			$__git_diff_common_options
 			--pickaxe-all --pickaxe-regex
@@ -2816,8 +2825,9 @@ _git_show ()
 		return
 		;;
 	--*)
-		__gitcomp "--pretty= --format= --abbrev-commit --oneline
-			--show-signature
+		__gitcomp "--pretty= --format= --abbrev-commit --no-abbrev-commit
+			--oneline --show-signature --patch
+			--expand-tabs --expand-tabs= --no-expand-tabs
 			$__git_diff_common_options
 			"
 		return

--
https://github.com/git/git/pull/426
Previous: Stefan BellerNext: Junio C Hamano
Message 10 of 19 in “No log --no-decorate completion?”
  1. Max RothmanOct 11, 2017
  2. Stefan BellerOct 11, 2017
  3. Max RothmanOct 12, 2017
  4. Max RothmanOct 24, 2017
  5. Stefan BellerOct 24, 2017
  6. Max RothmanNov 2, 2017
  7. Stefan BellerNov 2, 2017
  8. Max RothmanNov 7, 2017
  9. Stefan BellerNov 7, 2017
  10. completion: add missing completions for log, diff, showMax Rothman, Nov 7, 2017
  11. Junio C HamanoNov 8, 2017
  12. Max RothmanNov 8, 2017
  13. Junio C HamanoNov 8, 2017
  14. completion: add missing completions for log, diff, showMax Rothman, Jul 2, 2019
  15. Max RothmanAug 2, 2019
  16. Max RothmanSep 11, 2019
  17. Johannes SchindelinSep 12, 2019
  18. Junio C HamanoSep 12, 2019
  19. Johannes SchindelinSep 13, 2019

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.