From: Alexander Barton Date: Thu, 30 Jul 2015 22:46:16 +0000 (+0200) Subject: Use "ax-common" when available, implement wrapper functions X-Git-Url: https://arthur.barton.de/gitweb/?p=ax-zsh.git;a=commitdiff_plain;h=49e9cc513ac1b21aaa8ee27264e593a22e144039 Use "ax-common" when available, implement wrapper functions --- diff --git a/bin/axzshctl b/bin/axzshctl index ed3caf2..c6342c8 100755 --- a/bin/axzshctl +++ b/bin/axzshctl @@ -4,6 +4,24 @@ # Copyright (c) 2015 Alexander Barton # +# Include "ax-common.sh", if available: +for dir ("$HOME/lib" "$HOME/.ax" /usr/local /opt/ax /usr); do + [[ -z "$ax_common_sourced" ]] || break + ax_common="${dir}/lib/ax/ax-common.sh" + [[ -r "$ax_common" ]] && source "$ax_common" +done +if [[ -z "$ax_common_sourced" ]]; then + function ax_msg { + case "$1" in + "1"|"2") echo -n "! "; ;; + *) echo -n "* "; ;; + esac + shift + echo "$@" + } +fi +unset dir ax_common ax_common_sourced + function Usage { echo "$NAME [...]" echo @@ -19,19 +37,11 @@ function Usage { exit 2 } -function Verbose { - echo "* $@" -} - -function Warning { - echo "! $@" -} - function EnablePlugin { local dir="$AXZSH/active_plugins" if [[ -h "$dir/$1" ]]; then - Warning "Plugin \"$1\" already active!" + ax_msg 1 "Plugin \"$1\" already active!" return 1 fi @@ -51,7 +61,7 @@ function EnablePlugin { return $? done - Warning "Plugin \"$1\" not found!" + ax_msg 2 "Plugin \"$1\" not found!" return 1 } @@ -59,7 +69,7 @@ function DisablePlugin { local dir="$AXZSH/active_plugins" if [[ ! -h "$dir/$1" ]]; then - Warning "Plugin \"$1\" not active?" + ax_msg 1 "Plugin \"$1\" not active?" return 1 fi @@ -71,11 +81,11 @@ function ResetPlugins { local dir="$AXZSH/active_plugins" if [[ -e "$dir" ]]; then - Verbose "Removing all symbolic links in $dir ..." + ax_msg - "Removing all symbolic links in $dir ..." find "$dir" -type l -print -delete fi - Verbose "Activating (linking) default plugins ..." + ax_msg - "Activating (linking) default plugins ..." mkdir -p "$dir" ( cd "$dir" || exit 9 @@ -89,7 +99,7 @@ NAME="$(basename "$0")" [[ $# -gt 0 ]] || Usage if [[ -z "$AXZSH" || ! -d "$AXZSH" ]]; then - echo "$NAME: Oops, \"AXZSH\" is not set or invalid!" + ax_msg 2 "Oops, \"AXZSH\" is not set or invalid!" exit 3 fi diff --git a/install.sh b/install.sh index 2572990..274fa77 100755 --- a/install.sh +++ b/install.sh @@ -4,6 +4,20 @@ # Copyright (c) 2015 Alexander Barton # +# Include "ax-common.sh": +for dir in "$HOME/lib" "$HOME/.ax" /usr/local /opt/ax /usr; do + [ -z "$ax_common_sourced" ] || break + ax_common="${dir}/lib/ax/ax-common.sh" + [ -r "$ax_common" ] && . "$ax_common" +done +if [ -z "$ax_common_sourced" ]; then + ax_msg() { + shift + echo "1" "$@" + } +fi +unset dir ax_common ax_common_sourced + safe_rm() { if [ -f "$1" -a ! -L "$1" ]; then rm -f "$1.bak" || exit 1 @@ -17,7 +31,7 @@ umask 027 [ -n "$AXZSH" ] || AXZSH="$HOME/.axzsh" export AXZSH -echo "* Installing AX-ZSH into \"$AXZSH\" ..." +ax_msg - "Installing AX-ZSH into \"$AXZSH\" ..." safe_rm "$AXZSH" || exit 1 ln -sv "$PWD" "$AXZSH" || exit 1 @@ -28,8 +42,8 @@ for f in ~/.zlogin ~/.zlogout ~/.zprofile ~/.zshrc; do done if [ ! -d "$AXZSH/active_plugins" ]; then - echo "* Initializing plugin directory \"$AXZSH/active_plugins\" ..." + ax_msg - "Initializing plugin directory \"$AXZSH/active_plugins\" ..." zsh "$AXZSH/bin/axzshctl" reset-plugins else - echo "* Plugin directory \"$AXZSH/active_plugins\" already exists. Ok." + ax_msg - "Plugin directory \"$AXZSH/active_plugins\" already exists. Ok." fi