Skip to content

Commit

Permalink
bash: support more 'git notes' subcommands and their options
Browse files Browse the repository at this point in the history
The current completion function for 'git notes' only supported the
'edit' and 'show' subcommands and none of their options.  This patch
adds support for all missing subcommands, options, and their arguments
(files or refs), if any.

The code responsible for completing subcommand looks different
compared to the completion functions of other git commands with
subcommands.  This is because of the '--ref <notes-ref>' option which
comes before the subcommand (i.e. git notes --ref <notes-ref> add).

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
SZEDER Gábor authored and Junio C Hamano committed Oct 13, 2010
1 parent 128191f commit 2a5da75
Showing 1 changed file with 41 additions and 9 deletions.
50 changes: 41 additions & 9 deletions contrib/completion/git-completion.bash
Original file line number Diff line number Diff line change
Expand Up @@ -1472,18 +1472,50 @@ _git_name_rev ()

_git_notes ()
{
local subcommands="edit show"
if [ -z "$(__git_find_on_cmdline "$subcommands")" ]; then
__gitcomp "$subcommands"
return
fi
local subcommands='add append copy edit list prune remove show'
local subcommand="$(__git_find_on_cmdline "$subcommands")"
local cur="${COMP_WORDS[COMP_CWORD]}"

case "${COMP_WORDS[COMP_CWORD-1]}" in
-m|-F)
COMPREPLY=()
case "$subcommand,$cur" in
,--*)
__gitcomp '--ref'
;;
,*)
case "${COMP_WORDS[COMP_CWORD-1]}" in
--ref)
__gitcomp "$(__git_refs)"
;;
*)
__gitcomp "$subcommands --ref"
;;
esac
;;
add,--reuse-message=*|append,--reuse-message=*)
__gitcomp "$(__git_refs)" "" "${cur##--reuse-message=}"
;;
add,--reedit-message=*|append,--reedit-message=*)
__gitcomp "$(__git_refs)" "" "${cur##--reedit-message=}"
;;
add,--*|append,--*)
__gitcomp '--file= --message= --reedit-message=
--reuse-message='
;;
copy,--*)
__gitcomp '--stdin'
;;
prune,--*)
__gitcomp '--dry-run --verbose'
;;
prune,*)
;;
*)
__gitcomp "$(__git_refs)"
case "${COMP_WORDS[COMP_CWORD-1]}" in
-m|-F)
;;
*)
__gitcomp "$(__git_refs)"
;;
esac
;;
esac
}
Expand Down

0 comments on commit 2a5da75

Please sign in to comment.