Re: [PATCH 07/12] completion: simplify command stuff

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,


On Sun, Apr 08, 2012 at 06:07:54AM +0300, Felipe Contreras wrote:
> No need to recalculate it.

Based on this short description I would expect that this "command
stuff" is calculated somewhere, and a helper function is changed to
use the already calculated value ...

> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index c9672b2..1fe11f4 100755
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -721,7 +721,7 @@ __git_complete_revlist ()
>  
>  __git_complete_remote_or_refspec ()
>  {
> -	local cur_="$cur" cmd="${words[1]}"
> +	local cur_="$cur"
>  	local i c=2 remote="" pfx="" lhs=1 no_complete_refspec=0
>  	if [ "$cmd" = "remote" ]; then
>  		((c++))
> @@ -2599,7 +2599,7 @@ _git_whatchanged ()
>  
>  _git ()
>  {
> -	local i c=1 command __git_dir
> +	local i c=1 cmd __git_dir
>  
>  	if [[ -n ${ZSH_VERSION-} ]]; then
>  		emulate -L bash
> @@ -2625,13 +2625,13 @@ _git ()
>  		-p|--paginate|--no-pager) ;;
>  		--exec-path=*|--html-path|--info-path) ;;
>  		--work-tree=*|--namespace=*|--no-replace-objects) ;;
> -		--help) command="help"; break ;;
> -		*) command="$i"; break ;;
> +		--help) cmd="help"; break ;;
> +		*) cmd="$i"; break ;;
>  		esac
>  		((c++))
>  	done
>  
> -	if [ -z "$command" ]; then
> +	if [ -z "$cmd" ]; then
>  		case "$cur" in
>  		--*)   __gitcomp "
>  			--paginate
> @@ -2654,10 +2654,10 @@ _git ()
>  		return
>  	fi
>  
> -	local completion_func="_git_${command//-/_}"
> +	local completion_func="_git_${cmd//-/_}"
>  	declare -f $completion_func >/dev/null && $completion_func && return
>  
> -	local expansion=$(__git_aliased_command "$command")
> +	local expansion=$(__git_aliased_command "$cmd")
>  	if [ -n "$expansion" ]; then
>  		completion_func="_git_${expansion//-/_}"
>  		declare -f $completion_func >/dev/null && $completion_func
> -- 
> 1.7.10.3.g5a738d
> 

... but the bulk of this change is in the top-level _git() function,
as it renames a variable there to match the variable name in the
helper function.  Perhaps it should be the other way around.

However, this change "promotes" the command (or cmd) variable from
being just a variable in _git() to a variable that is used in other
completion functions, too.  Why not go one more step further, and
denote this by adding a __git prefix (i.e. renaming the variable to
__git_command)?


Best,
Gábor

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]