Re: [RFC/PATCH v4 4/6] completion: simplify command stuff
- From
SZEDER Gábor <szeder@ira.uka.de>
- Date
- May 7, 2012, 10:08 UTC
- Message-ID
- <20120507100858.GQ2164@goldbirke>
- In-Reply-To
- <1336353800-17323-5-git-send-email-felipe.contreras@gmail.com>
Hi,
On Mon, May 07, 2012 at 03:23:18AM +0200, Felipe Contreras wrote:
Show 6 quoted lines
> No need to recalculate it. > > Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> > --- > contrib/completion/git-completion.bash | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-)
This seems to be the same patch you sent earlier as 7/12 in the first round. I had a few comments back then, see
http://thread.gmane.org/gmane.comp.version-control.git/194958/focus=195276
But this $cmd variable will be only used in __git_complete_remote_or_refspec(), so perhaps your idea later in that thread about invoking it from _git_fetch() as
__git_complete_remote_or_refspec "fetch"
would be better. That would only require one modification in its four callers, but neither in _git() in this patch nor in __git_complete() later in the series to set $cmd.
Best, Gábor
Show 56 quoted lines
> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index 8de0358..e648d7c 100755
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -723,7 +723,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++))
> @@ -2603,22 +2603,22 @@ _git_whatchanged ()
>
> _git ()
> {
> - local i c=1 command __git_dir
> + local i c=1 cmd __git_dir
>
> while [ $c -lt $cword ]; do
> i="${words[c]}"
> case "$i" in
> --git-dir=*) __git_dir="${i#--git-dir=}" ;;
> --bare) __git_dir="." ;;
> - --help) command="help"; break ;;
> + --help) cmd="help"; break ;;
> -c) c=$((++c)) ;;
> -*) ;;
> - *) command="$i"; break ;;
> + *) cmd="$i"; break ;;
> esac
> ((c++))
> done
>
> - if [ -z "$command" ]; then
> + if [ -z "$cmd" ]; then
> case "$cur" in
> --*) __gitcomp "
> --paginate
> @@ -2642,10 +2642,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
>