]> arthur.barton.de Git - ax-zsh.git/commitdiff
Add completion for "axzshctl" command
authorAlexander Barton <alex@barton.de>
Tue, 13 Oct 2015 15:16:46 +0000 (17:16 +0200)
committerAlexander Barton <alex@barton.de>
Tue, 13 Oct 2015 15:16:46 +0000 (17:16 +0200)
core/50_axzsh/functions/_axzsh [new file with mode: 0644]

diff --git a/core/50_axzsh/functions/_axzsh b/core/50_axzsh/functions/_axzsh
new file mode 100644 (file)
index 0000000..da28009
--- /dev/null
@@ -0,0 +1,30 @@
+#compdef axzshctl
+
+_axzshctl() {
+       _arguments \
+               '1: :((
+                       enable-plugin\:"Enable plugin(s)."
+                       disable-plugin\:"Disable plugin(s)."
+                       reset-plugins\:"Reset active plugins to the default set."
+                       enable-default-plugins\:"Enable all default plugins."
+                       set-theme\:"Set active theme."
+                       upgrade\:"Upgrade AX-ZSH installation (requires Git)."
+               ))' \
+               '*: :->args'
+#
+       case "$state" in
+         'args')
+               case "$words[2]" in
+                 "enable-plugin"|"disable-plugin")
+                       compadd "$@" $(ls -1 "$AXZSH"/plugins)
+                       ;;
+                 "set-theme")
+                       [[ -z $words[3] ]] \
+                               && compadd "$@" -- "-" $(ls -1 "$AXZSH"/themes | cut -d'.' -f1)
+                       ;;
+               esac
+               ;;
+       esac
+}
+
+_axzshctl "$@"