--- /dev/null
+#compdef axzshctl
+
+_axzshctl() {
+ _arguments \
+ '1: :((
+ enable\:"Enable AX-ZSH."
+ disable\:"Disable AX-ZSH."
+ enable-plugin\:"Enable plugin(s)."
+ disable-plugin\:"Disable plugin(s)."
+ list-enabled\:"List enabled plugin(s)."
+ reset-plugins\:"Reset active plugins to the default set."
+ enable-default-plugins\:"Enable all default plugins."
+ check-plugins\:"Check \"useful\" plugins."
+ set-theme\:"Set active theme."
+ upgrade\:"Upgrade AX-ZSH installation (requires Git)."
+ update-caches\:"Force rebuild of all cache files."
+ ))' \
+ '*: :->args'
+#
+ case "$state" in
+ 'args')
+ case "$words[2]" in
+ "enable-plugin")
+ compadd "$@" -- \
+ "$AXZSH"/plugins/*(/:t) \
+ "$AXZSH"/custom_plugins/*(N/:t) \
+ "$AXZSH"/repos/*(/:t:s/#/\\/)
+ for r in "$AXZSH"/repos/@*(N/); do
+ b=(echo $r(:t))
+ compadd "$@" -- \
+ $(echo $r/plugins/*(N:t) | sed -E "s/(^| )/ $b\//g")
+ done
+ ;;
+ "disable-plugin")
+ compadd "$@" -- \
+ "$AXZSH"/active_plugins/*(:t:s/#/\\/)
+ ;;
+ "set-theme")
+ compadd "$@" -- "-" \
+ "$AXZSH"/themes/*.axzshtheme(:r:t) \
+ "$AXZSH"/custom_themes/*.axzshtheme(N:r:t) \
+ "$AXZSH"/custom_themes/*.zsh-theme(N:r:t) \
+ "$AXZSH"/repos/*/*.axzshtheme(N:r:t) \
+ "$AXZSH"/repos/*/*.zsh-theme(N:r:t)
+ ;;
+ esac
+ ;;
+ esac
+}
+
+_axzshctl "$@"