X-Git-Url: https://arthur.barton.de/gitweb/?a=blobdiff_plain;f=bin%2Faxzshctl;h=b425679aecdf4513687a31f71fc1ac50afddcf4a;hb=f59153717abf80de1ceeca9687d4aff83b017559;hp=4af22b41223b01ac32bf9867de0ac6333a00791a;hpb=a9f06ce72ec843ef496528ba97a6624108a767db;p=ax-zsh.git diff --git a/bin/axzshctl b/bin/axzshctl index 4af22b4..b425679 100755 --- a/bin/axzshctl +++ b/bin/axzshctl @@ -23,7 +23,7 @@ fi unset dir ax_common ax_common_sourced function Usage { - echo "$NAME [...]" + echo "Usage: $NAME [...]" echo echo " enable-plugin [ [...]]" echo " Enable plugin(s)." @@ -37,6 +37,12 @@ function Usage { echo " enable-default-plugins" echo " Enable all default plugins." echo + echo " set-theme |-" + echo " Set active theme to , or to the default." + echo + echo " upgrade" + echo " Upgrade AX-ZSH installation (requires Git)." + echo exit 2 } @@ -52,6 +58,7 @@ function EnablePlugin { "$plugin:A" "$AXZSH_PLUGIN_D/$plugin" "$ZSH_CUSTOM/$plugin" + "$AXZSH/custom_plugins/$plugin" "$AXZSH/plugins/$plugin" "$AXZSH/default_plugins/$plugin" "$AXZSH/core/$plugin" @@ -103,6 +110,49 @@ function EnableDefaultPlugins { return $? } +function SetTheme { + local link_name="$AXZSH/active_theme" + + if [ $# -ne 1 ]; then + echo "Usage: axzsh_set_theme " + return 1 + fi + + rm -f "$link_name" || return 1 + + if [ "$1" = "-" ]; then + echo "Theme settings have been reset." + return 0 + fi + + if [ -r "$1" ]; then + theme="$1" + elif [ -r "$AXZSH/custom_themes/$1.axzshtheme" ]; then + theme="$AXZSH/custom_themes/$1.axzshtheme" + elif [ -r "$AXZSH/themes/$1.axzshtheme" ]; then + theme="$AXZSH/themes/$1.axzshtheme" + else + echo "Theme \"$1\" not found!" + return 1 + fi + ln -sv "$theme" "$link_name" || return 1 + return $? +} + +function UpgradeAXZSH { + if [[ $+commands[git] -eq 0 ]]; then + ax_msg 2 "The git(1) command is not available!" + return 1 + fi + if [[ ! -d "$AXZSH/.git" ]]; then + ax_msg 2 "AX-ZSH seems not to be installed using Git. Can't upgrade!" + return 1 + fi + + ax_msg - "Upgrading AX-ZSH in \"$AXZSH\" using git(1) ..." + ( cd "$AXZSH" && git pull --ff-only ) +} + NAME="$(basename "$0")" [[ $# -gt 0 ]] || Usage @@ -137,6 +187,14 @@ case "$cmd" in [[ $# -eq 0 ]] || Usage EnableDefaultPlugins ;; + "set-theme") + [[ $# -eq 1 ]] || Usage + SetTheme "$1" + ;; + "upgrade") + [[ $# -eq 0 ]] || Usage + UpgradeAXZSH + ;; *) Usage esac