Created
March 29, 2017 00:20
-
-
Save yufengwng/146d3fb7d62b23698444825da0f03f3c to your computer and use it in GitHub Desktop.
ZSH completion file for doctl.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ZSH completion script for doctl. | |
# | |
# This takes bach completion and converts it to support zsh. | |
# Inspired by [kubectl][kc] and [opencompose][oc], the bash | |
# part is from [@andewsomething][as-gist]. | |
# | |
# [kc]: https://github.com/kubernetes/kubernetes/blob/9dec47d/pkg/kubectl/cmd/completion.go | |
# [oc]: https://github.com/redhat-developer/opencompose/blob/master/pkg/cmd/completion.go | |
# [as-gist]: https://gist.github.com/andrewsomething/7ba993a7f7897936c6946ffed2f1edc6 | |
__doctl_bash_source() { | |
alias shopt=':' | |
alias _expand=_bash_expand | |
alias _complete=_bash_comp | |
emulate -L sh | |
setopt kshglob noshglob braceexpand | |
source "$@" | |
} | |
__doctl_type() { | |
# -t is not supported by zsh | |
if [ "$1" == "-t" ]; then | |
shift | |
# fake Bash 4 to disable "complete -o nospace". Instead | |
# "compopt +-o nospace" is used in the code to toggle trailing | |
# spaces. We don't support that, but leave trailing spaces on | |
# all the time | |
if [ "$1" = "__doctl_compopt" ]; then | |
echo builtin | |
return 0 | |
fi | |
fi | |
type "$@" | |
} | |
__doctl_compgen() { | |
local completions w | |
completions=( $(compgen "$@") ) || return $? | |
# filter by given word as prefix | |
while [[ "$1" = -* && "$1" != -- ]]; do | |
shift | |
shift | |
done | |
if [[ "$1" == -- ]]; then | |
shift | |
fi | |
for w in "${completions[@]}"; do | |
if [[ "${w}" = "$1"* ]]; then | |
echo "${w}" | |
fi | |
done | |
} | |
__doctl_compopt() { | |
true # don't do anything. Not supported by bashcompinit in zsh | |
} | |
__doctl_declare() { | |
if [ "$1" == "-F" ]; then | |
whence -w "$@" | |
else | |
builtin declare "$@" | |
fi | |
} | |
__doctl_ltrim_colon_completions() | |
{ | |
if [[ "$1" == *:* && "$COMP_WORDBREAKS" == *:* ]]; then | |
# Remove colon-word prefix from COMPREPLY items | |
local colon_word=${1%${1##*:}} | |
local i=${#COMPREPLY[*]} | |
while [[ $((--i)) -ge 0 ]]; do | |
COMPREPLY[$i]=${COMPREPLY[$i]#"$colon_word"} | |
done | |
fi | |
} | |
__doctl_get_comp_words_by_ref() { | |
cur="${COMP_WORDS[COMP_CWORD]}" | |
prev="${COMP_WORDS[${COMP_CWORD}-1]}" | |
words=("${COMP_WORDS[@]}") | |
cword=("${COMP_CWORD[@]}") | |
} | |
__doctl_filedir() { | |
local RET OLD_IFS w qw | |
__debug "_filedir $@ cur=$cur" | |
if [[ "$1" = \~* ]]; then | |
# somehow does not work. Maybe, zsh does not call this at all | |
eval echo "$1" | |
return 0 | |
fi | |
OLD_IFS="$IFS" | |
IFS=$'\n' | |
if [ "$1" = "-d" ]; then | |
shift | |
RET=( $(compgen -d) ) | |
else | |
RET=( $(compgen -f) ) | |
fi | |
IFS="$OLD_IFS" | |
IFS="," __debug "RET=${RET[@]} len=${#RET[@]}" | |
for w in ${RET[@]}; do | |
if [[ ! "${w}" = "${cur}"* ]]; then | |
continue | |
fi | |
if eval "[[ \"\${w}\" = *.$1 || -d \"\${w}\" ]]"; then | |
qw="$(__doctl_quote "${w}")" | |
if [ -d "${w}" ]; then | |
COMPREPLY+=("${qw}/") | |
else | |
COMPREPLY+=("${qw}") | |
fi | |
fi | |
done | |
} | |
__doctl_quote() { | |
if [[ $1 == \'* || $1 == \"* ]]; then | |
# Leave out first character | |
printf %q "${1:1}" | |
else | |
printf %q "$1" | |
fi | |
} | |
autoload -U +X bashcompinit && bashcompinit | |
# use word boundary patterns for BSD or GNU sed | |
LWORD='[[:<:]]' | |
RWORD='[[:>:]]' | |
if sed --help 2>&1 | grep -q GNU; then | |
LWORD='\<' | |
RWORD='\>' | |
fi | |
__doctl_convert_bash_to_zsh() { | |
sed \ | |
-e 's/declare -F/whence -w/' \ | |
-e 's/local \([a-zA-Z0-9_]*\)=/local \1; \1=/' \ | |
-e 's/flags+=("\(--.*\)=")/flags+=("\1"); two_word_flags+=("\1")/' \ | |
-e 's/must_have_one_flag+=("\(--.*\)=")/must_have_one_flag+=("\1")/' \ | |
-e "s/${LWORD}_filedir${RWORD}/__doctl_filedir/g" \ | |
-e "s/${LWORD}_get_comp_words_by_ref${RWORD}/__doctl_get_comp_words_by_ref/g" \ | |
-e "s/${LWORD}__ltrim_colon_completions${RWORD}/__doctl_ltrim_colon_completions/g" \ | |
-e "s/${LWORD}compgen${RWORD}/__doctl_compgen/g" \ | |
-e "s/${LWORD}compopt${RWORD}/__doctl_compopt/g" \ | |
-e "s/${LWORD}declare${RWORD}/__doctl_declare/g" \ | |
-e "s/\\\$(type${RWORD}/\$(__doctl_type/g" \ | |
<<'BASH_COMPLETION_EOF' | |
# bash completion for doctl -*- shell-script -*- | |
__debug() | |
{ | |
if [[ -n ${BASH_COMP_DEBUG_FILE} ]]; then | |
echo "$*" >> "${BASH_COMP_DEBUG_FILE}" | |
fi | |
} | |
# Homebrew on Macs have version 1.3 of bash-completion which doesn't include | |
# _init_completion. This is a very minimal version of that function. | |
__my_init_completion() | |
{ | |
COMPREPLY=() | |
_get_comp_words_by_ref cur prev words cword | |
} | |
__index_of_word() | |
{ | |
local w word=$1 | |
shift | |
index=0 | |
for w in "$@"; do | |
[[ $w = "$word" ]] && return | |
index=$((index+1)) | |
done | |
index=-1 | |
} | |
__contains_word() | |
{ | |
local w word=$1; shift | |
for w in "$@"; do | |
[[ $w = "$word" ]] && return | |
done | |
return 1 | |
} | |
__handle_reply() | |
{ | |
__debug "${FUNCNAME}" | |
case $cur in | |
-*) | |
if [[ $(type -t compopt) = "builtin" ]]; then | |
compopt -o nospace | |
fi | |
local allflags | |
if [ ${#must_have_one_flag[@]} -ne 0 ]; then | |
allflags=("${must_have_one_flag[@]}") | |
else | |
allflags=("${flags[*]} ${two_word_flags[*]}") | |
fi | |
COMPREPLY=( $(compgen -W "${allflags[*]}" -- "$cur") ) | |
if [[ $(type -t compopt) = "builtin" ]]; then | |
[[ $COMPREPLY == *= ]] || compopt +o nospace | |
fi | |
return 0; | |
;; | |
esac | |
# check if we are handling a flag with special work handling | |
local index | |
__index_of_word "${prev}" "${flags_with_completion[@]}" | |
if [[ ${index} -ge 0 ]]; then | |
${flags_completion[${index}]} | |
return | |
fi | |
# we are parsing a flag and don't have a special handler, no completion | |
if [[ ${cur} != "${words[cword]}" ]]; then | |
return | |
fi | |
local completions | |
if [[ ${#must_have_one_flag[@]} -ne 0 ]]; then | |
completions=("${must_have_one_flag[@]}") | |
elif [[ ${#must_have_one_noun[@]} -ne 0 ]]; then | |
completions=("${must_have_one_noun[@]}") | |
else | |
completions=("${commands[@]}") | |
fi | |
COMPREPLY=( $(compgen -W "${completions[*]}" -- "$cur") ) | |
if [[ ${#COMPREPLY[@]} -eq 0 ]]; then | |
declare -F __custom_func >/dev/null && __custom_func | |
fi | |
__ltrim_colon_completions "$cur" | |
} | |
# The arguments should be in the form "ext1|ext2|extn" | |
__handle_filename_extension_flag() | |
{ | |
local ext="$1" | |
_filedir "@(${ext})" | |
} | |
__handle_subdirs_in_dir_flag() | |
{ | |
local dir="$1" | |
pushd "${dir}" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 | |
} | |
__handle_flag() | |
{ | |
__debug "${FUNCNAME}: c is $c words[c] is ${words[c]}" | |
# if a command required a flag, and we found it, unset must_have_one_flag() | |
local flagname=${words[c]} | |
local flagvalue | |
# if the word contained an = | |
if [[ ${words[c]} == *"="* ]]; then | |
flagvalue=${flagname#*=} # take in as flagvalue after the = | |
flagname=${flagname%=*} # strip everything after the = | |
flagname="${flagname}=" # but put the = back | |
fi | |
__debug "${FUNCNAME}: looking for ${flagname}" | |
if __contains_word "${flagname}" "${must_have_one_flag[@]}"; then | |
must_have_one_flag=() | |
fi | |
# keep flag value with flagname as flaghash | |
if [ ${flagvalue} ] ; then | |
flaghash[${flagname}]=${flagvalue} | |
elif [ ${words[ $((c+1)) ]} ] ; then | |
flaghash[${flagname}]=${words[ $((c+1)) ]} | |
else | |
flaghash[${flagname}]="true" # pad "true" for bool flag | |
fi | |
# skip the argument to a two word flag | |
if __contains_word "${words[c]}" "${two_word_flags[@]}"; then | |
c=$((c+1)) | |
# if we are looking for a flags value, don't show commands | |
if [[ $c -eq $cword ]]; then | |
commands=() | |
fi | |
fi | |
c=$((c+1)) | |
} | |
__handle_noun() | |
{ | |
__debug "${FUNCNAME}: c is $c words[c] is ${words[c]}" | |
if __contains_word "${words[c]}" "${must_have_one_noun[@]}"; then | |
must_have_one_noun=() | |
fi | |
nouns+=("${words[c]}") | |
c=$((c+1)) | |
} | |
__handle_command() | |
{ | |
__debug "${FUNCNAME}: c is $c words[c] is ${words[c]}" | |
local next_command | |
if [[ -n ${last_command} ]]; then | |
next_command="_${last_command}_${words[c]//:/__}" | |
else | |
if [[ $c -eq 0 ]]; then | |
next_command="_$(basename ${words[c]//:/__})" | |
else | |
next_command="_${words[c]//:/__}" | |
fi | |
fi | |
c=$((c+1)) | |
__debug "${FUNCNAME}: looking for ${next_command}" | |
declare -F $next_command >/dev/null && $next_command | |
} | |
__handle_word() | |
{ | |
if [[ $c -ge $cword ]]; then | |
__handle_reply | |
return | |
fi | |
__debug "${FUNCNAME}: c is $c words[c] is ${words[c]}" | |
if [[ "${words[c]}" == -* ]]; then | |
__handle_flag | |
elif __contains_word "${words[c]}" "${commands[@]}"; then | |
__handle_command | |
elif [[ $c -eq 0 ]] && __contains_word "$(basename ${words[c]})" "${commands[@]}"; then | |
__handle_command | |
else | |
__handle_noun | |
fi | |
__handle_word | |
} | |
_doctl_account_get() | |
{ | |
last_command="doctl_account_get" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_account_ratelimit() | |
{ | |
last_command="doctl_account_ratelimit" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_account() | |
{ | |
last_command="doctl_account" | |
commands=() | |
commands+=("get") | |
commands+=("ratelimit") | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_auth_login() | |
{ | |
last_command="doctl_auth_login" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_auth() | |
{ | |
last_command="doctl_auth" | |
commands=() | |
commands+=("login") | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_action_get() | |
{ | |
last_command="doctl_compute_action_get" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_action_list() | |
{ | |
last_command="doctl_compute_action_list" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--action-type=") | |
flags+=("--after=") | |
flags+=("--before=") | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--region=") | |
flags+=("--resource-type=") | |
flags+=("--status=") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_action_wait() | |
{ | |
last_command="doctl_compute_action_wait" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--poll-timeout=") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_action() | |
{ | |
last_command="doctl_compute_action" | |
commands=() | |
commands+=("get") | |
commands+=("list") | |
commands+=("wait") | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet-action_get() | |
{ | |
last_command="doctl_compute_droplet-action_get" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--action-id=") | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet-action_disable-backups() | |
{ | |
last_command="doctl_compute_droplet-action_disable-backups" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--wait") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet-action_reboot() | |
{ | |
last_command="doctl_compute_droplet-action_reboot" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--wait") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet-action_power-cycle() | |
{ | |
last_command="doctl_compute_droplet-action_power-cycle" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--wait") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet-action_shutdown() | |
{ | |
last_command="doctl_compute_droplet-action_shutdown" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--wait") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet-action_power-off() | |
{ | |
last_command="doctl_compute_droplet-action_power-off" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--wait") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet-action_power-on() | |
{ | |
last_command="doctl_compute_droplet-action_power-on" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--wait") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet-action_power-reset() | |
{ | |
last_command="doctl_compute_droplet-action_power-reset" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--wait") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet-action_enable-ipv6() | |
{ | |
last_command="doctl_compute_droplet-action_enable-ipv6" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--wait") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet-action_enable-private-networking() | |
{ | |
last_command="doctl_compute_droplet-action_enable-private-networking" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--wait") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet-action_upgrade() | |
{ | |
last_command="doctl_compute_droplet-action_upgrade" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--wait") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet-action_restore() | |
{ | |
last_command="doctl_compute_droplet-action_restore" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--image-id=") | |
flags+=("--no-header") | |
flags+=("--wait") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet-action_resize() | |
{ | |
last_command="doctl_compute_droplet-action_resize" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--resize-disk") | |
flags+=("--size=") | |
flags+=("--wait") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet-action_rebuild() | |
{ | |
last_command="doctl_compute_droplet-action_rebuild" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--image-id=") | |
flags+=("--no-header") | |
flags+=("--wait") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet-action_rename() | |
{ | |
last_command="doctl_compute_droplet-action_rename" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--droplet-name=") | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--wait") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet-action_change-kernel() | |
{ | |
last_command="doctl_compute_droplet-action_change-kernel" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--kernel-id=") | |
flags+=("--no-header") | |
flags+=("--wait") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet-action_snapshot() | |
{ | |
last_command="doctl_compute_droplet-action_snapshot" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--snapshot-name=") | |
flags+=("--wait") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet-action() | |
{ | |
last_command="doctl_compute_droplet-action" | |
commands=() | |
commands+=("get") | |
commands+=("disable-backups") | |
commands+=("reboot") | |
commands+=("power-cycle") | |
commands+=("shutdown") | |
commands+=("power-off") | |
commands+=("power-on") | |
commands+=("power-reset") | |
commands+=("enable-ipv6") | |
commands+=("enable-private-networking") | |
commands+=("upgrade") | |
commands+=("restore") | |
commands+=("resize") | |
commands+=("rebuild") | |
commands+=("rename") | |
commands+=("change-kernel") | |
commands+=("snapshot") | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet_actions() | |
{ | |
last_command="doctl_compute_droplet_actions" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet_backups() | |
{ | |
last_command="doctl_compute_droplet_backups" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet_create() | |
{ | |
last_command="doctl_compute_droplet_create" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--enable-backups") | |
flags+=("--enable-ipv6") | |
flags+=("--enable-private-networking") | |
flags+=("--format=") | |
flags+=("--image=") | |
flags+=("--no-header") | |
flags+=("--region=") | |
flags+=("--size=") | |
flags+=("--ssh-keys=") | |
flags+=("--user-data=") | |
flags+=("--user-data-file=") | |
flags+=("--wait") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet_delete() | |
{ | |
last_command="doctl_compute_droplet_delete" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet_get() | |
{ | |
last_command="doctl_compute_droplet_get" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet_kernels() | |
{ | |
last_command="doctl_compute_droplet_kernels" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet_list() | |
{ | |
last_command="doctl_compute_droplet_list" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--region=") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet_neighbors() | |
{ | |
last_command="doctl_compute_droplet_neighbors" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet_snapshots() | |
{ | |
last_command="doctl_compute_droplet_snapshots" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_droplet() | |
{ | |
last_command="doctl_compute_droplet" | |
commands=() | |
commands+=("actions") | |
commands+=("backups") | |
commands+=("create") | |
commands+=("delete") | |
commands+=("get") | |
commands+=("kernels") | |
commands+=("list") | |
commands+=("neighbors") | |
commands+=("snapshots") | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_domain_create() | |
{ | |
last_command="doctl_compute_domain_create" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--ip-address=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_domain_list() | |
{ | |
last_command="doctl_compute_domain_list" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_domain_get() | |
{ | |
last_command="doctl_compute_domain_get" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_domain_delete() | |
{ | |
last_command="doctl_compute_domain_delete" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_domain_records_list() | |
{ | |
last_command="doctl_compute_domain_records_list" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--domain-name=") | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_domain_records_create() | |
{ | |
last_command="doctl_compute_domain_records_create" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--record-data=") | |
flags+=("--record-name=") | |
flags+=("--record-port=") | |
flags+=("--record-priority=") | |
flags+=("--record-type=") | |
flags+=("--record-weight=") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_domain_records_delete() | |
{ | |
last_command="doctl_compute_domain_records_delete" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_domain_records_update() | |
{ | |
last_command="doctl_compute_domain_records_update" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--record-data=") | |
flags+=("--record-id=") | |
flags+=("--record-name=") | |
flags+=("--record-port=") | |
flags+=("--record-priority=") | |
flags+=("--record-type=") | |
flags+=("--record-weight=") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_domain_records() | |
{ | |
last_command="doctl_compute_domain_records" | |
commands=() | |
commands+=("list") | |
commands+=("create") | |
commands+=("delete") | |
commands+=("update") | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_domain() | |
{ | |
last_command="doctl_compute_domain" | |
commands=() | |
commands+=("create") | |
commands+=("list") | |
commands+=("get") | |
commands+=("delete") | |
commands+=("records") | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_floating-ip_create() | |
{ | |
last_command="doctl_compute_floating-ip_create" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--droplet-id=") | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--region=") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_floating-ip_get() | |
{ | |
last_command="doctl_compute_floating-ip_get" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_floating-ip_delete() | |
{ | |
last_command="doctl_compute_floating-ip_delete" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_floating-ip_list() | |
{ | |
last_command="doctl_compute_floating-ip_list" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--region=") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_floating-ip() | |
{ | |
last_command="doctl_compute_floating-ip" | |
commands=() | |
commands+=("create") | |
commands+=("get") | |
commands+=("delete") | |
commands+=("list") | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_floating-ip-action_get() | |
{ | |
last_command="doctl_compute_floating-ip-action_get" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_floating-ip-action_assign() | |
{ | |
last_command="doctl_compute_floating-ip-action_assign" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_floating-ip-action_unassign() | |
{ | |
last_command="doctl_compute_floating-ip-action_unassign" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_floating-ip-action() | |
{ | |
last_command="doctl_compute_floating-ip-action" | |
commands=() | |
commands+=("get") | |
commands+=("assign") | |
commands+=("unassign") | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_image_list() | |
{ | |
last_command="doctl_compute_image_list" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--public") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_image_list-distribution() | |
{ | |
last_command="doctl_compute_image_list-distribution" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--public") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_image_list-application() | |
{ | |
last_command="doctl_compute_image_list-application" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--public") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_image_list-user() | |
{ | |
last_command="doctl_compute_image_list-user" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--public") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_image_get() | |
{ | |
last_command="doctl_compute_image_get" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_image_update() | |
{ | |
last_command="doctl_compute_image_update" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--image-name=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_image_delete() | |
{ | |
last_command="doctl_compute_image_delete" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_image() | |
{ | |
last_command="doctl_compute_image" | |
commands=() | |
commands+=("list") | |
commands+=("list-distribution") | |
commands+=("list-application") | |
commands+=("list-user") | |
commands+=("get") | |
commands+=("update") | |
commands+=("delete") | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_image-action_get() | |
{ | |
last_command="doctl_compute_image-action_get" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--action-id=") | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_image-action_transfer() | |
{ | |
last_command="doctl_compute_image-action_transfer" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--region=") | |
flags+=("--wait") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_image-action() | |
{ | |
last_command="doctl_compute_image-action" | |
commands=() | |
commands+=("get") | |
commands+=("transfer") | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_plugin_list() | |
{ | |
last_command="doctl_compute_plugin_list" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_plugin_run() | |
{ | |
last_command="doctl_compute_plugin_run" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_plugin() | |
{ | |
last_command="doctl_compute_plugin" | |
commands=() | |
commands+=("list") | |
commands+=("run") | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_region_list() | |
{ | |
last_command="doctl_compute_region_list" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_region() | |
{ | |
last_command="doctl_compute_region" | |
commands=() | |
commands+=("list") | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_size_list() | |
{ | |
last_command="doctl_compute_size_list" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_size() | |
{ | |
last_command="doctl_compute_size" | |
commands=() | |
commands+=("list") | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_ssh-key_list() | |
{ | |
last_command="doctl_compute_ssh-key_list" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_ssh-key_get() | |
{ | |
last_command="doctl_compute_ssh-key_get" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_ssh-key_create() | |
{ | |
last_command="doctl_compute_ssh-key_create" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--public-key=") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_ssh-key_import() | |
{ | |
last_command="doctl_compute_ssh-key_import" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--no-header") | |
flags+=("--public-key-file=") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_ssh-key_delete() | |
{ | |
last_command="doctl_compute_ssh-key_delete" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_ssh-key_update() | |
{ | |
last_command="doctl_compute_ssh-key_update" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--format=") | |
flags+=("--key-name=") | |
flags+=("--no-header") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_ssh-key() | |
{ | |
last_command="doctl_compute_ssh-key" | |
commands=() | |
commands+=("list") | |
commands+=("get") | |
commands+=("create") | |
commands+=("import") | |
commands+=("delete") | |
commands+=("update") | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute_ssh() | |
{ | |
last_command="doctl_compute_ssh" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--ssh-key-path=") | |
flags+=("--ssh-port=") | |
flags+=("--ssh-user=") | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_compute() | |
{ | |
last_command="doctl_compute" | |
commands=() | |
commands+=("action") | |
commands+=("droplet-action") | |
commands+=("droplet") | |
commands+=("domain") | |
commands+=("floating-ip") | |
commands+=("floating-ip-action") | |
commands+=("image") | |
commands+=("image-action") | |
commands+=("plugin") | |
commands+=("region") | |
commands+=("size") | |
commands+=("ssh-key") | |
commands+=("ssh") | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl_version() | |
{ | |
last_command="doctl_version" | |
commands=() | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
_doctl() | |
{ | |
last_command="doctl" | |
commands=() | |
commands+=("account") | |
commands+=("auth") | |
commands+=("compute") | |
commands+=("version") | |
flags=() | |
two_word_flags=() | |
flags_with_completion=() | |
flags_completion=() | |
flags+=("--access-token=") | |
two_word_flags+=("-t") | |
flags+=("--output=") | |
two_word_flags+=("-o") | |
flags+=("--trace") | |
flags+=("--verbose") | |
flags+=("-v") | |
must_have_one_flag=() | |
must_have_one_noun=() | |
} | |
__start_doctl() | |
{ | |
local cur prev words cword | |
declare -A flaghash 2>/dev/null || : | |
if declare -F _init_completion >/dev/null 2>&1; then | |
_init_completion -s || return | |
else | |
__my_init_completion || return | |
fi | |
local c=0 | |
local flags=() | |
local two_word_flags=() | |
local flags_with_completion=() | |
local flags_completion=() | |
local commands=("doctl") | |
local must_have_one_flag=() | |
local must_have_one_noun=() | |
local last_command | |
local nouns=() | |
__handle_word | |
} | |
if [[ $(type -t compopt) = "builtin" ]]; then | |
complete -o default -F __start_doctl doctl | |
else | |
complete -o default -o nospace -F __start_doctl doctl | |
fi | |
# ex: ts=4 sw=4 et filetype=sh | |
BASH_COMPLETION_EOF | |
} | |
__doctl_bash_source <(__doctl_convert_bash_to_zsh) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment