X-Git-Url: https://arthur.barton.de/gitweb/?a=blobdiff_plain;f=install.sh;h=26ec741a64e75f06b52f0128bf06c8ff2aaed3b0;hb=a97feda41526dcdbd1d261f1b46ec2f162a02848;hp=274fa774aadf36f019b2b5e751d9e2c90cdf8dff;hpb=49e9cc513ac1b21aaa8ee27264e593a22e144039;p=ax-zsh.git diff --git a/install.sh b/install.sh index 274fa77..26ec741 100755 --- a/install.sh +++ b/install.sh @@ -13,7 +13,7 @@ done if [ -z "$ax_common_sourced" ]; then ax_msg() { shift - echo "1" "$@" + echo "$@" } fi unset dir ax_common ax_common_sourced @@ -31,10 +31,37 @@ umask 027 [ -n "$AXZSH" ] || AXZSH="$HOME/.axzsh" export AXZSH -ax_msg - "Installing AX-ZSH into \"$AXZSH\" ..." +S=$(dirname "$0") -safe_rm "$AXZSH" || exit 1 -ln -sv "$PWD" "$AXZSH" || exit 1 +if [ "$S" = "$AXZSH" -o "$PWD" = "$AXZSH" ]; then + ax_msg 1 "Initializing \"$AXZSH\":" +else + ax_msg 1 "Install AX-ZSH into \"$AXZSH\":" + + [ -L "$AXZSH" ] && rm -f "$AXZSH" + mkdir -p "$AXZSH" || exit 1 + + 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 + + for f in AUTHORS LICENSE.md README.md; do + cp -pRv "$S/$f" "$AXZSH/" || exit 1 + done + + ax_msg - "Copying plugins ..." + for plugin_type in core default_plugins plugins; do + mkdir -p "$AXZSH/$plugin_type" || exit 1 + 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 + done + done +fi + +ax_msg - "Linking ZSH startup files ..." for f in ~/.zlogin ~/.zlogout ~/.zprofile ~/.zshrc; do safe_rm "$f" || exit 1 @@ -43,7 +70,14 @@ done if [ ! -d "$AXZSH/active_plugins" ]; then ax_msg - "Initializing plugin directory \"$AXZSH/active_plugins\" ..." - zsh "$AXZSH/bin/axzshctl" reset-plugins + type zsh >/dev/null 2>&1 + if [ $? -eq 0 ]; then + zsh "$AXZSH/bin/axzshctl" reset-plugins + exit $? + else + ax_msg 2 "Oops, \"zsh\" not found!?" + exit 1 + fi else ax_msg - "Plugin directory \"$AXZSH/active_plugins\" already exists. Ok." fi