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

Re: [RFC/PATCH v4 1/6] completion: add new __git_complete helper

From
Junio C Hamano <gitster@pobox.com>
Date
May 7, 2012, 18:51 UTC
Message-ID
<7vfwbb6czu.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1336353800-17323-2-git-send-email-felipe.contreras@gmail.com>
Felipe Contreras <felipe.contreras@gmail.com> writes:
> +# this is NOT a public function; use at your own risk
> +__git_complete ()

The comment is enough to scare away people who might use it and then come back to complain when this changes its implementation detail, but saying "This is not X" without saying "This does Y" does not help those who want to contribute updates to git-completion script. Is there a short and sweet description of what this is for and/or what this does?

Show 33 quoted lines
> +{
> +	local name="${2-$1}"
> +	local wrapper="_${name}_wrap"
> +	eval "$wrapper () { __git_func_wrap $name ; }"
> +	complete -o bashdefault -o default -o nospace -F $wrapper $1 2>/dev/null \
> +		|| complete -o default -o nospace -F $wrapper $1
> +}
> +
> +__git_complete git
> +__git_complete gitk
>  
>  # The following are necessary only for Cygwin, and only are needed
>  # when the user has tab-completed the executable name and consequently
>  # included the '.exe' suffix.
>  #
>  if [ Cygwin = "$(uname -o 2>/dev/null)" ]; then
> -complete -o bashdefault -o default -o nospace -F _git git.exe 2>/dev/null \
> -	|| complete -o default -o nospace -F _git git.exe
> +__git_complete git.exe git
>  fi
> diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh
> index 5bda6b6..331a5b9 100755
> --- a/t/t9902-completion.sh
> +++ b/t/t9902-completion.sh
> @@ -63,7 +63,7 @@ run_completion ()
>  	local _cword
>  	_words=( $1 )
>  	(( _cword = ${#_words[@]} - 1 ))
> -	_git && print_comp
> +	_git_wrap && print_comp
>  }
>  
>  test_completion ()
Previous: SZEDER GáborNext: Felipe Contreras
Message 4 of 18 in “completion: __git_complete and other stuff”
  1. 0/6 completion: __git_complete and other stuffFelipe Contreras, May 7, 2012
  2. 1/6 completion: add new __git_complete helperFelipe Contreras, May 7, 2012
  3. SZEDER GáborMay 7, 2012
  4. Junio C HamanoMay 7, 2012
  5. Felipe ContrerasMay 7, 2012
  6. 2/6 tests: add more bash completion testsFelipe Contreras, May 7, 2012
  7. 3/6 completion: simplify _git_bundleFelipe Contreras, May 7, 2012
  8. 4/6 completion: simplify command stuffFelipe Contreras, May 7, 2012
  9. SZEDER GáborMay 7, 2012
  10. 5/6 completion: calculate argument position properlyFelipe Contreras, May 7, 2012
  11. Felipe ContrerasMay 7, 2012
  12. Junio C HamanoMay 7, 2012
  13. Felipe ContrerasMay 7, 2012
  14. Junio C HamanoMay 7, 2012
  15. Felipe ContrerasMay 8, 2012
  16. 6/6 completion: add public _GIT_complete helperFelipe Contreras, May 7, 2012
  17. Junio C HamanoMay 7, 2012
  18. Felipe ContrerasMay 7, 2012

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.