]> asedeno.scripts.mit.edu Git - git.git/blobdiff - contrib/completion/git-completion.bash
bash: support more 'git notes' subcommands and their options
[git.git] / contrib / completion / git-completion.bash
index 67569901e71e5062199e48304afc424f15b57ba1..d69724f5294864ac944844d54f51dc897aa85dde 100755 (executable)
@@ -907,12 +907,16 @@ _git_bisect ()
        local subcommands="start bad good skip reset visualize replay log run"
        local subcommand="$(__git_find_on_cmdline "$subcommands")"
        if [ -z "$subcommand" ]; then
-               __gitcomp "$subcommands"
+               if [ -f "$(__gitdir)"/BISECT_START ]; then
+                       __gitcomp "$subcommands"
+               else
+                       __gitcomp "replay start"
+               fi
                return
        fi
 
        case "$subcommand" in
-       bad|good|reset|skip)
+       bad|good|reset|skip|start)
                __gitcomp "$(__git_refs)"
                ;;
        *)
@@ -1125,7 +1129,7 @@ _git_diff ()
        case "$cur" in
        --*)
                __gitcomp "--cached --staged --pickaxe-all --pickaxe-regex
-                       --base --ours --theirs
+                       --base --ours --theirs --no-index
                        $__git_diff_common_options
                        "
                return
@@ -1468,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
 }