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

Re: [PATCH v4 5/8] completion: log: use __git_complete_log_opts

From
Patrick Steinhardt <ps@pks.im>
Date
Feb 1, 2024, 09:55 UTC
Message-ID
<ZbtqlBHeFf4xzC8i@tanuki>
In-Reply-To
<20240128223447.342493-6-britton.kerin@gmail.com>
On Sun, Jan 28, 2024 at 01:34:44PM -0900, Britton Leo Kerin wrote:
> Use the new __git_complete_log_opts function to handle option and
> optiona rgument completion in _git_log.

I think this commit could be merged with the preceding one to clarify that this really only is a move of code. Sorry if my comments on the previous round weren't clear on that.

Patrick
Show 114 quoted lines
> Signed-off-by: Britton Leo Kerin <britton.kerin@gmail.com>
> ---
>  contrib/completion/git-completion.bash | 95 +-------------------------
>  1 file changed, 3 insertions(+), 92 deletions(-)
> 
> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index dfd504c37e..41c76c1246 100644
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -2195,98 +2195,9 @@ _git_log ()
>  	__git_has_doubledash && return
>  	__git_find_repo_path
>  
> -	local merge=""
> -	if [ -f "$__git_repo_path/MERGE_HEAD" ]; then
> -		merge="--merge"
> -	fi
> -	case "$prev,$cur" in
> -	-L,:*:*)
> -		return	# fall back to Bash filename completion
> -		;;
> -	-L,:*)
> -		__git_complete_symbol --cur="${cur#:}" --sfx=":"
> -		return
> -		;;
> -	-G,*|-S,*)
> -		__git_complete_symbol
> -		return
> -		;;
> -	esac
> -	case "$cur" in
> -	--pretty=*|--format=*)
> -		__gitcomp "$__git_log_pretty_formats $(__git_pretty_aliases)
> -			" "" "${cur#*=}"
> -		return
> -		;;
> -	--date=*)
> -		__gitcomp "$__git_log_date_formats" "" "${cur##--date=}"
> -		return
> -		;;
> -	--decorate=*)
> -		__gitcomp "full short no" "" "${cur##--decorate=}"
> -		return
> -		;;
> -	--diff-algorithm=*)
> -		__gitcomp "$__git_diff_algorithms" "" "${cur##--diff-algorithm=}"
> -		return
> -		;;
> -	--submodule=*)
> -		__gitcomp "$__git_diff_submodule_formats" "" "${cur##--submodule=}"
> -		return
> -		;;
> -	--ws-error-highlight=*)
> -		__gitcomp "$__git_ws_error_highlight_opts" "" "${cur##--ws-error-highlight=}"
> -		return
> -		;;
> -	--no-walk=*)
> -		__gitcomp "sorted unsorted" "" "${cur##--no-walk=}"
> -		return
> -		;;
> -	--diff-merges=*)
> -                __gitcomp "$__git_diff_merges_opts" "" "${cur##--diff-merges=}"
> -                return
> -                ;;
> -	--*)
> -		__gitcomp "
> -			$__git_log_common_options
> -			$__git_log_shortlog_options
> -			$__git_log_gitk_options
> -			$__git_log_show_options
> -			--root --topo-order --date-order --reverse
> -			--follow --full-diff
> -			--abbrev-commit --no-abbrev-commit --abbrev=
> -			--relative-date --date=
> -			--pretty= --format= --oneline
> -			--show-signature
> -			--cherry-mark
> -			--cherry-pick
> -			--graph
> -			--decorate --decorate= --no-decorate
> -			--walk-reflogs
> -			--no-walk --no-walk= --do-walk
> -			--parents --children
> -			--expand-tabs --expand-tabs= --no-expand-tabs
> -			$merge
> -			$__git_diff_common_options
> -			"
> -		return
> -		;;
> -	-L:*:*)
> -		return	# fall back to Bash filename completion
> -		;;
> -	-L:*)
> -		__git_complete_symbol --cur="${cur#-L:}" --sfx=":"
> -		return
> -		;;
> -	-G*)
> -		__git_complete_symbol --pfx="-G" --cur="${cur#-G}"
> -		return
> -		;;
> -	-S*)
> -		__git_complete_symbol --pfx="-S" --cur="${cur#-S}"
> -		return
> -		;;
> -	esac
> +	__git_complete_log_opts
> +	[ -z "$COMPREPLY" ] || return
> +
>  	__git_complete_revlist
>  }
>  
> -- 
> 2.43.0
> 
Previous: Britton Leo KerinNext: Britton Leo Kerin
Message 25 of 58 in “completion: improvements for git-bisect”
  1. 0/6 completion: improvements for git-bisectBritton Leo Kerin, Jan 2, 2024
  2. 0/5 completion: improvements for git-bisectBritton Leo Kerin, Jan 10, 2024
  3. 0/5 completion: improvements for git-bisectBritton Leo Kerin, Jan 18, 2024
  4. 1/5 completion: complete new old actions, start optsBritton Leo Kerin, Jan 18, 2024
  5. Patrick SteinhardtJan 19, 2024
  6. 2/5 completion: git-log opts to bisect visualizeBritton Leo Kerin, Jan 18, 2024
  7. Patrick SteinhardtJan 19, 2024
  8. 3/5 completion: move to maintain define-before-useBritton Leo Kerin, Jan 18, 2024
  9. Patrick SteinhardtJan 19, 2024
  10. 4/5 completion: custom git-bisect termsBritton Leo Kerin, Jan 18, 2024
  11. Patrick SteinhardtJan 19, 2024
  12. 5/5 completion: git-bisect view recognized but not completedBritton Leo Kerin, Jan 18, 2024
  13. Patrick SteinhardtJan 19, 2024
  14. Patrick SteinhardtJan 19, 2024
  15. Junio C HamanoJan 19, 2024
  16. Britton KerinJan 26, 2024
  17. 0/8 completion: improvements for git-bisectBritton Leo Kerin, Jan 28, 2024
  18. 2/8 completion: bisect: complete custom terms and related optionsBritton Leo Kerin, Jan 28, 2024
  19. Patrick SteinhardtFeb 1, 2024
  20. 4/8 completion: new function __git_complete_log_optsBritton Leo Kerin, Jan 28, 2024
  21. 3/8 completion: bisect: complete missing --first-parent and --no-checkout optionsBritton Leo Kerin, Jan 28, 2024
  22. 1/8 completion: bisect: complete bad, new, old, and help subcommandsBritton Leo Kerin, Jan 28, 2024
  23. Patrick SteinhardtFeb 1, 2024
  24. 5/8 completion: log: use __git_complete_log_optsBritton Leo Kerin, Jan 28, 2024
  25. Patrick SteinhardtFeb 1, 2024
  26. 6/8 completion: bisect: complete log opts for visualize subcommandBritton Leo Kerin, Jan 28, 2024
  27. 7/8 completion: bisect: recognize but do not complete view subcommandBritton Leo Kerin, Jan 28, 2024
  28. 8/8 completion: add tests for git-bisectBritton Leo Kerin, Jan 28, 2024
  29. Junio C HamanoJan 30, 2024
  30. Patrick SteinhardtFeb 1, 2024
  31. Patrick SteinhardtFeb 1, 2024
  32. 0/7 completion: improvements for git-bisectBritton Leo Kerin, Feb 6, 2024
  33. 1/7 completion: tests: always use 'master' for default initial branch nameBritton Leo Kerin, Feb 6, 2024
  34. 2/7 completion: bisect: complete bad, new, old, and help subcommandsBritton Leo Kerin, Feb 6, 2024
  35. Patrick SteinhardtFeb 6, 2024
  36. 3/7 completion: bisect: complete custom terms and related optionsBritton Leo Kerin, Feb 6, 2024
  37. Patrick SteinhardtFeb 6, 2024
  38. 4/7 completion: bisect: complete missing --first-parent and --no-checkout optionsBritton Leo Kerin, Feb 6, 2024
  39. 5/7 completion: new function __git_complete_log_optsBritton Leo Kerin, Feb 6, 2024
  40. Patrick SteinhardtFeb 6, 2024
  41. 7/7 completion: bisect: recognize but do not complete view subcommandBritton Leo Kerin, Feb 6, 2024
  42. 6/7 completion: bisect: complete log opts for visualize subcommandBritton Leo Kerin, Feb 6, 2024
  43. Patrick SteinhardtFeb 6, 2024
  44. 0/7 completion: improvements for git-bisectBritton Leo Kerin, Feb 6, 2024
  45. 3/7 completion: bisect: complete custom terms and related optionsBritton Leo Kerin, Feb 6, 2024
  46. 2/7 completion: bisect: complete bad, new, old, and help subcommandsBritton Leo Kerin, Feb 6, 2024
  47. 4/7 completion: bisect: complete missing --first-parent and --no-checkout optionsBritton Leo Kerin, Feb 6, 2024
  48. 1/7 completion: tests: always use 'master' for default initial branch nameBritton Leo Kerin, Feb 6, 2024
  49. 5/7 completion: new function __git_complete_log_optsBritton Leo Kerin, Feb 6, 2024
  50. 7/7 completion: bisect: recognize but do not complete view subcommandBritton Leo Kerin, Feb 6, 2024
  51. 6/7 completion: bisect: complete log opts for visualize subcommandBritton Leo Kerin, Feb 6, 2024
  52. Junio C HamanoFeb 6, 2024
  53. Patrick SteinhardtFeb 7, 2024
  54. 4/5 completion: custom git-bisect termsBritton Leo Kerin, Jan 10, 2024
  55. 1/5 completion: complete new old actions, start optsBritton Leo Kerin, Jan 10, 2024
  56. 2/5 completion: git-log opts to bisect visualizeBritton Leo Kerin, Jan 10, 2024
  57. 3/5 completion: move to maintain define-before-useBritton Leo Kerin, Jan 10, 2024
  58. 5/5 completion: custom git-bisect termsBritton Leo Kerin, Jan 10, 2024

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.