aboutsummaryrefslogtreecommitdiff
path: root/completion/zsh-completion.sh
diff options
context:
space:
mode:
Diffstat (limited to 'completion/zsh-completion.sh')
-rw-r--r--completion/zsh-completion.sh7
1 files changed, 5 insertions, 2 deletions
diff --git a/completion/zsh-completion.sh b/completion/zsh-completion.sh
index 4e280ba..917c918 100644
--- a/completion/zsh-completion.sh
+++ b/completion/zsh-completion.sh
@@ -14,8 +14,11 @@ local -a _available_ponies
compadd "$@" -a _available_ponies
}
-_ponysay_balloons(){
- [[ "$words" == ponythink* ]] && compadd "$@" cowsay ascii || compadd "$@" cowsay ascii unicode round linux-vt
+local -a _ponysay_balloons _ponythink_balloons
+(( $+functions[_ponysay_pony] )) || _ponysay_balloons(){
+ (( $#_ponysay_balloons )) || _ponysay_balloons=($(ponysay -b list))
+ (( $#_ponythink_balloons )) || _ponythink_balloons=($(ponythink -b list))
+ [[ "$words" == ponythink* ]] && compadd "$@" -a _ponythink_balloons || compadd "$@" -a _ponysay_balloons
}
_arguments -s -w -S \