applied
assimilate
branch
- bury
delete
diff
clean
rm
series
show
+ sink
status
sync
top
| grep -v "^$(cat $g/patches/$b/current 2> /dev/null)$"
}
+_all_branches ()
+{
+ local g=$(_gitdir)
+ [ "$g" ] && (cd .git/patches/ && echo *)
+}
+
# List the command options
_cmd_options ()
{
COMPREPLY=($(compgen -W "$options" -- "$cur"))
}
+_complete_branch ()
+{
+ COMPREPLY=($(compgen -W "$(_cmd_options $1) $($2)" -- "${COMP_WORDS[COMP_CWORD]}"))
+}
+
# Generate completions for options from the given list.
_complete_options ()
{
# repository commands
id) _stg_patches $command _all_patches ;;
# stack commands
- bury) _stg_patches_options $command _applied_patches "-t --to" ;;
float) _stg_patches $command _all_patches ;;
goto) _stg_patches $command _all_other_patches ;;
hide) _stg_patches $command _all_patches ;;
pop) _stg_patches $command _applied_patches ;;
push) _stg_patches $command _unapplied_patches ;;
series) _stg_patches $command _all_patches ;;
+ sink) _stg_patches $command _all_patches ;;
unhide) _stg_patches $command _all_patches ;;
# patch commands
delete) _stg_patches $command _all_patches ;;
sync) _stg_patches $command _applied_patches ;;
# working-copy commands
diff) _stg_patches_options $command _applied_patches "-r --range" ;;
+ # commands that usually raher accept branches
+ branch) _complete_branch $command _all_branches ;;
+ rebase) _complete_branch $command _all_branches ;;
# all the other commands
*) _stg_common $command ;;
esac