]> arthur.barton.de Git - ax-zsh.git/blob - core/40_axzsh/functions/_axzsh
axzshctl: Add "help" and "version" to help text and completion config
[ax-zsh.git] / core / 40_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                         version\:"Show version and setup information."
18                         help\:"Show help for the axzshctl command."
19                 ))' \
20                 '*: :->args'
21 #
22         case "$state" in
23           'args')
24                 case "$words[2]" in
25                   "enable-plugin")
26                         compadd "$@" -- \
27                                 "$AXZSH"/plugins/*(/:t) \
28                                 "$AXZSH"/custom_plugins/*(N/:t) \
29                                 "$AXZSH"/repos/*(/:t:s/#/\\/)
30                         for r in "$AXZSH"/repos/@*(N/); do
31                                 b=(echo $r(:t))
32                                 compadd "$@" -- \
33                                         $(echo $r/plugins/*(N:t) | sed -E "s/(^| )/ $b\//g")
34                         done
35                         ;;
36                   "disable-plugin")
37                         compadd "$@" -- \
38                                 "$AXZSH"/active_plugins/*(:t:s/#/\\/)
39                         ;;
40                   "set-theme")
41                         compadd "$@" -- "-" \
42                                 "$AXZSH"/themes/*.axzshtheme(:r:t) \
43                                 "$AXZSH"/custom_themes/*.axzshtheme(N:r:t) \
44                                 "$AXZSH"/custom_themes/*.zsh-theme(N:r:t) \
45                                 "$AXZSH"/repos/*/*.axzshtheme(N:r:t) \
46                                 "$AXZSH"/repos/*/*.zsh-theme(N:r:t)
47                         ;;
48                 esac
49                 ;;
50         esac
51 }
52
53 _axzshctl "$@"