]> 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 da280096882e162b535829c3c188a6db91590802..ea32b58ab9cf3c8ddb4f411d7797336f11235d28 100644 (file)
@@ -3,12 +3,17 @@
 _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'
 #
@@ -16,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
                ;;