]> arthur.barton.de Git - ax-zsh.git/blobdiff - core/50_axzsh/functions/_axzsh
axzshctl set-theme completion: Look for all types in custom_themes/ and rpositories
[ax-zsh.git] / core / 50_axzsh / functions / _axzsh
index 014221406f8d4da655e5fd448a7f1b3694dcff19..ea32b58ab9cf3c8ddb4f411d7797336f11235d28 100644 (file)
@@ -7,11 +7,13 @@ _axzshctl() {
                        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'
 #
@@ -19,11 +21,18 @@ _axzshctl() {
          'args')
                case "$words[2]" in
                  "enable-plugin"|"disable-plugin")
-                       compadd "$@" $(ls -1 "$AXZSH"/plugins)
+                       compadd "$@" -- \
+                               "$AXZSH"/plugins/*(/:t) \
+                               "$AXZSH"/custom_plugins/*(N/:t) \
+                               "$AXZSH"/repos/*(/: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
                ;;