]> arthur.barton.de Git - ax-zsh.git/blobdiff - core/50_axzsh/functions/_axzsh
axzshctl: Only auto-complete enabled plugins on "disable-plugin" subcommand
[ax-zsh.git] / core / 50_axzsh / functions / _axzsh
index 2a62f29364ba8f4548a95fdabc694a94809d7fbb..7e0209981fa93e1cf26ef4bf2a526ad26c812420 100644 (file)
@@ -13,18 +13,30 @@ _axzshctl() {
                        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)
+                 "enable-plugin")
+                       compadd "$@" -- \
+                               "$AXZSH"/plugins/*(/:t) \
+                               "$AXZSH"/custom_plugins/*(N/:t) \
+                               "$AXZSH"/repos/*(/:t:s/#/\\/)
+                       ;;
+                 "disable-plugin")
+                       compadd "$@" -- \
+                               "$AXZSH"/active_plugins/*(:t:s/#/\\/)
                        ;;
                  "set-theme")
-                       [[ -z $words[3] ]] \
-                               && compadd "$@" -- "-" $(ls -1 "$AXZSH"/themes | cut -d'.' -f1)
+                       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
                ;;