unset dir ax_common ax_common_sourced
function Usage {
- echo "$NAME <command> [...]"
+ echo "Usage: $NAME <command> [...]"
echo
- echo " enable-plugin <p> [<p> [...]]"
+ echo " enable-plugin <name|directory> [<name|directory> [...]]"
echo " Enable plugin(s)."
echo
- echo " disable-plugin <p> [<p> [...]]"
+ echo " disable-plugin <name> [<name> [...]]"
echo " Disable plugin(s)."
echo
echo " reset-plugins"
- echo " Reset active plugins to the default list."
+ echo " Reset active plugins to the default set."
+ echo
+ echo " enable-default-plugins"
+ echo " Enable all default plugins."
+ echo
+ echo " upgrade"
+ echo " Upgrade AX-ZSH installation (requires Git)."
echo
exit 2
}
fi
for dname (
- "$AXZSH_PLUGIN_D/$plugin:A"
- "$ZSH_CUSTOM/$plugin:A"
- "$AXZSH/plugins/$plugin:A"
- "$AXZSH/default_plugins/$plugin:A"
- "$AXZSH/core/$plugin:A"
+ "$plugin:A"
+ "$AXZSH_PLUGIN_D/$plugin"
+ "$ZSH_CUSTOM/$plugin"
+ "$AXZSH/custom_plugins/$plugin"
+ "$AXZSH/plugins/$plugin"
+ "$AXZSH/default_plugins/$plugin"
+ "$AXZSH/core/$plugin"
); do
[[ ! -d "$dname" ]] && continue
mkdir -p "$dir"
ax_msg - "Removing all symbolic links in $dir ..."
find "$dir" -type l -print -delete
fi
+ return $?
+}
+
+function EnableDefaultPlugins {
+ local dir="$AXZSH/active_plugins"
ax_msg - "Activating (linking) default plugins ..."
mkdir -p "$dir"
(
cd "$dir" || exit 9
- ln -sv "$AXZSH/default_plugins/"* "$PWD"
+ ln -sfv "$AXZSH/default_plugins/"* "$PWD"
)
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
"reset-plugins")
[[ $# -eq 0 ]] || Usage
ResetPlugins
+ EnableDefaultPlugins
+ ;;
+ "enable-default-plugins")
+ [[ $# -eq 0 ]] || Usage
+ EnableDefaultPlugins
+ ;;
+ "upgrade")
+ [[ $# -eq 0 ]] || Usage
+ UpgradeAXZSH
;;
*)
Usage