Add zsh plugin for BlackBelt
This commit is contained in:
parent
75b9030f48
commit
d4453c4eb4
103
plugins/bb/_bb
Normal file
103
plugins/bb/_bb
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
#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
|
||||||
|
|
Loading…
Reference in New Issue
Block a user