#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"|"disable-plugin") compadd "$@" -- \ $(ls -1 "$AXZSH"/plugins) \ $(ls -1 "$AXZSH"/custom_plugins) ;; "set-theme") compadd "$@" -- "-" \ $(ls -1 "$AXZSH"/themes | cut -d'.' -f1) \ $(ls -1 "$AXZSH"/custom_themes | cut -d'.' -f1) \ $(find "$AXZSH/custom_plugins" "$AXZSH/repos" -maxdepth 2 -iname '*.zsh-theme' -exec basename {} \; | cut -d'.' -f1) ;; esac ;; esac } _axzshctl "$@"