]> arthur.barton.de Git - ax-zsh.git/blob - core/50_axzsh/functions/_axzsh
Enhance support for remote plugins with embedded themes
[ax-zsh.git] / core / 50_axzsh / functions / _axzsh
1 #compdef axzshctl
2
3 _axzshctl() {
4         _arguments \
5                 '1: :((
6                         enable\:"Enable AX-ZSH."
7                         disable\:"Disable AX-ZSH."
8                         enable-plugin\:"Enable plugin(s)."
9                         disable-plugin\:"Disable plugin(s)."
10                         list-enabled\:"List enabled plugin(s)."
11                         reset-plugins\:"Reset active plugins to the default set."
12                         enable-default-plugins\:"Enable all default plugins."
13                         check-plugins\:"Check \"useful\" plugins."
14                         set-theme\:"Set active theme."
15                         upgrade\:"Upgrade AX-ZSH installation (requires Git)."
16                         update-caches\:"Force rebuild of all cache files."
17                 ))' \
18                 '*: :->args'
19 #
20         case "$state" in
21           'args')
22                 case "$words[2]" in
23                   "enable-plugin"|"disable-plugin")
24                         compadd "$@" -- \
25                                 $(ls -1 "$AXZSH"/plugins) \
26                                 $(ls -1 "$AXZSH"/custom_plugins)
27                         ;;
28                   "set-theme")
29                         compadd "$@" -- "-" \
30                                 $(ls -1 "$AXZSH"/themes | cut -d'.' -f1) \
31                                 $(find "$AXZSH/custom_plugins" "$AXZSH/repos" -maxdepth 2 -iname '*.zsh-theme' -exec basename {} \; | cut -d'.' -f1)
32                         ;;
33                 esac
34                 ;;
35         esac
36 }
37
38 _axzshctl "$@"