]> arthur.barton.de Git - ax-zsh.git/commitdiff
install.sh: Introduce "abort" function and use it
authorAlexander Barton <alex@barton.de>
Sat, 12 Sep 2015 18:08:53 +0000 (20:08 +0200)
committerAlexander Barton <alex@barton.de>
Sat, 12 Sep 2015 18:08:53 +0000 (20:08 +0200)
install.sh

index 2bc902cb26f19c9ba9b591a3e40896c576220000..fc97abd1868c44c37939b5a13eaf49a697280aef 100755 (executable)
@@ -20,10 +20,15 @@ unset dir ax_common ax_common_sourced
 
 safe_rm() {
        if [ -f "$1" -a ! -L "$1" ]; then
-               rm -f "$1.bak" || exit 1
-               mv -v "$1" "$1.bak" || exit 1
+               rm -f "$1.bak" || abort
+               mv -v "$1" "$1.bak" || abort
        fi
-       rm -f "$1" || exit 1
+       rm -f "$1" || abort
+}
+
+abort() {
+       ax_msg 2 "Failed to setup AX-ZSH!"
+       exit 1
 }
 
 umask 027
@@ -39,24 +44,24 @@ else
        ax_msg 1 "Install AX-ZSH into \"$AXZSH\":"
 
        [ -L "$AXZSH" ] && rm -f "$AXZSH"
-       mkdir -p "$AXZSH" || exit 1
+       mkdir -p "$AXZSH" || abort
 
        ax_msg - "Copying binaries and scripts ..."
-       cp -pRv "$S/ax.zsh"* "$AXZSH/" || exit 1
-       mkdir -p "$AXZSH/bin" || exit 1
-       cp -pRv "$S/bin/"* "$AXZSH/bin/" || exit 1
+       cp -pRv "$S/ax.zsh"* "$AXZSH/" || abort
+       mkdir -p "$AXZSH/bin" || abort
+       cp -pRv "$S/bin/"* "$AXZSH/bin/" || abort
 
        for f in AUTHORS LICENSE.md README.md; do
-               cp -pRv "$S/$f" "$AXZSH/" || exit 1
+               cp -pRv "$S/$f" "$AXZSH/" || abort
        done
 
        ax_msg - "Copying plugins ..."
        for plugin_type in core default_plugins plugins; do
-               mkdir -p "$AXZSH/$plugin_type" || exit 1
+               mkdir -p "$AXZSH/$plugin_type" || abort
                for p in "$S/$plugin_type/"*; do
                        echo "$p -> $AXZSH/$p"
-                       rm -fr "${AXZSH:?}/$p" || exit 1
-                       cp -pR "$S/$p" "$AXZSH/$p" || exit 1
+                       rm -fr "${AXZSH:?}/$p" || abort
+                       cp -pR "$S/$p" "$AXZSH/$p" || abort
                done
        done
 fi
@@ -64,20 +69,20 @@ fi
 ax_msg - "Linking ZSH startup files ..."
 
 for f in ~/.zlogin ~/.zlogout ~/.zprofile ~/.zshrc; do
-       safe_rm "$f" || exit 1
-       ln -sv "$AXZSH/ax.zsh" "$f" || exit 1
+       safe_rm "$f" || abort
+       ln -sv "$AXZSH/ax.zsh" "$f" || abort
 done
 
 if [ ! -d "$AXZSH/active_plugins" ]; then
        ax_msg - "Initializing plugin directory \"$AXZSH/active_plugins\" ..."
        which zsh >/dev/null 2>&1
        if [ $? -eq 0 ]; then
-               zsh "$AXZSH/bin/axzshctl" reset-plugins
-               exit $?
+               zsh "$AXZSH/bin/axzshctl" reset-plugins || abort
        else
-               ax_msg 2 "Oops, \"zsh\" not found!?"
-               exit 1
+               ax_msg 1 "Oops, \"zsh\" not found!?"
        fi
 else
        ax_msg - "Plugin directory \"$AXZSH/active_plugins\" already exists. Ok."
 fi
+
+ax_msg 0 "AX-ZSH setup successfully."