mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-03-20 03:13:33 +01:00
103 lines
2.6 KiB
Text
103 lines
2.6 KiB
Text
#compdef bb
|
|
|
|
# Black Belt autocompletion for oh-my-zsh
|
|
# Requires: BlackBelt installed http://black-belt.readthedocs.org/en/latest/
|
|
# Author: Ladislav Prskavec (ladislav@prskavec.net)
|
|
|
|
# ----- Commands
|
|
# Seperate function for each command, makes extension easier later
|
|
# ---------------------------
|
|
__gh() {
|
|
local -a subcommands
|
|
subcommands=(
|
|
'pr:Create PR'
|
|
'deploy:Deploy PR'
|
|
'merge:Merge PR'
|
|
)
|
|
_describe -t commands 'bb gh' subcommands
|
|
_arguments \
|
|
'--help[Show help message and exit.]'
|
|
}
|
|
|
|
__hip() {
|
|
local -a subcommands
|
|
subcommands=(
|
|
'last_errors'
|
|
'post'
|
|
)
|
|
_describe -t commands 'bb hip' subcommands
|
|
_arguments \
|
|
'--help[Show help message and exit.]'
|
|
}
|
|
|
|
__t() {
|
|
local curcontext="$curcontext" state line
|
|
typeset -A opt_args
|
|
|
|
_arguments -C \
|
|
':commands:->command' \
|
|
'*::options:->options'
|
|
|
|
case $state in
|
|
(command)
|
|
local -a subcommands
|
|
subcommands=(
|
|
'curcard:Open current doing card in browser'
|
|
'migrate-label:Usage:: bb t migrate-label --label="Product:...'
|
|
'next:Takes the top card from To Do queue, moves it...'
|
|
'next-week:Create new columns on the :term:`Work Board`:...'
|
|
'schedule-list:Usage:: bb t schedule-list...'
|
|
'verify:Looks through a checklists on :term:`Story`,...'
|
|
)
|
|
_describe -t commands 'bb t' subcommands
|
|
_arguments \
|
|
'--help[Show help message and exit.]'
|
|
;;
|
|
(options)
|
|
case $line[1] in
|
|
(migrate-label)
|
|
_arguments \
|
|
'---label[Label to migrate away]' \
|
|
'--board[Board to migrate from]' \
|
|
'--board-to[Board to migrate to]' \
|
|
'--column[Column to migrate from]' \
|
|
'--column-to[Column to migrate to]'
|
|
;;
|
|
(schedule-list)
|
|
_arguments \
|
|
'---label[Assign a label to the newly-created card. For now, label must be a color name.]' \
|
|
'--owner[Whom to assign a created work card]' \
|
|
'--story-list[Name of the list that should be converted to cards]'
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
}
|
|
|
|
local -a _1st_arguments
|
|
_1st_arguments=(
|
|
"gh":"Handle github-related tasks and integrations."
|
|
"hip":"Handle HipChat-related tasks and..."
|
|
"init":"Initialize application for usage."
|
|
"stage":"Deploy current branch to staging"
|
|
"t":"Handle Trello-related actions and..."
|
|
"version":"Version"
|
|
)
|
|
|
|
_arguments '*:: :->command'
|
|
|
|
if (( CURRENT == 1 )); then
|
|
_describe -t commands "bb command" _1st_arguments
|
|
return
|
|
fi
|
|
|
|
local -a _command_args
|
|
case "$words[1]" in
|
|
gh)
|
|
__gh ;;
|
|
t)
|
|
__t ;;
|
|
hip)
|
|
__hip ;;
|
|
esac
|
|
|