mirror of
https://github.com/erkin/ponysay
synced 2024-12-18 23:53:21 +00:00
33 lines
1.7 KiB
Bash
33 lines
1.7 KiB
Bash
# zsh completion for ponysay -*- shell-script -*-
|
|
#compdef ponysay ponythink
|
|
_opts=(
|
|
'(--version -v)'{-v,--version}'[Show version and exit]'
|
|
'(-h --help)'{-h,--help}'[Show this help and exit]'
|
|
'(-l --list)'{-l,--list}'[list pony names]'
|
|
'(-L --altlist)'{-L,--altlist}'[list pony names with alternatives]'
|
|
'(+l ++list)'{+l,++list}'[list extra pony names]'
|
|
'(+L ++altlist)'{+L,++altlist}'[list extra pony names with alternatives]'
|
|
'(-B --balloonlist)'{-B,--balloonlist}'[list balloon style names]'
|
|
'(-b --ballon)'{-b,--balloon}'[Selecy a balloon style]: :_path_files -W '/usr/share/ponysay/balloons' -g "*(\:r)"'
|
|
'(-c --compact)'{-c,--compat}'[Compress messages.]'
|
|
'(-W --wrap)'{-W,--wrap}'[The screen column where the message should be wrapped]' # TODO arguments `none` and `inherit` should be suggested
|
|
)
|
|
_tty_select=(
|
|
'(-q --quite)'{-q,--quote}'[Select ponies for MLP:FiM quotes]: :_path_files -W '/usr/share/ponysay/ttyponies' -g "*(\:r)"'
|
|
'(-f --pony)'{-f,--pony}'[select pony]: :_path_files -W '/usr/share/ponysay/ttyponies/' -g "*(\:r)"'
|
|
'(+f ++pony)'{+f,++pony}'[Select a extra pony]: :_path_files -W '/usr/share/ponysay/extrattyponies' -g "*(\:r)"'
|
|
)
|
|
_select=(
|
|
'(-q --quite)'{-q,--quote}'[Select ponies for MLP:FiM quotes]: :_path_files -W '/usr/share/ponysay/ponies' -g "*(\:r)"'
|
|
'(-f --pony)'{-f,--pony}'[select pony]: :_path_files -W '/usr/share/ponysay/ponies/' -g "*(\:r)"'
|
|
'(+f ++pony)'{+f,++pony}'[Select a extra pony]: :_path_files -W '/usr/share/ponysay/extraponies' -g "*(\:r)"'
|
|
)
|
|
if [[ "${(f)"$(tty)"##*/}" == "tty*" ]]; then
|
|
_arguments \
|
|
"$_opts[@]" \
|
|
"$_tty_select[@]"
|
|
else
|
|
_arguments \
|
|
"$_opts[@]" \
|
|
"$_select[@]"
|
|
fi
|