3 # AX-ZSH: Alex' Modular ZSH Configuration
4 # Copyright (c) 2015 Alexander Barton <alex@barton.de>
8 echo "$NAME <command> [...]"
10 echo " enable-plugin <p> [<p> [...]]"
11 echo " Enable plugin(s)."
13 echo " disable-plugin <p> [<p> [...]]"
14 echo " Disable plugin(s)."
17 echo " Reset active plugins to the default list."
30 function EnablePlugin {
31 local dir="$AXZSH/active_plugins"
33 if [[ -h "$dir/$1" ]]; then
34 Warning "Plugin \"$1\" already active!"
39 "$AXZSH_PLUGIN_D/$plugin"
41 "$AXZSH/plugins/$plugin"
42 "$AXZSH/default_plugins/$plugin"
45 [[ ! -d "$dname" ]] && continue
49 ln -sv "$dname" "$PWD"
54 Warning "Plugin \"$1\" not found!"
58 function DisablePlugin {
59 local dir="$AXZSH/active_plugins"
61 if [[ ! -h "$dir/$1" ]]; then
62 Warning "Plugin \"$1\" not active?"
70 function ResetPlugins {
71 local dir="$AXZSH/active_plugins"
73 if [[ -e "$dir" ]]; then
74 Verbose "Removing all symbolic links in $dir ..."
75 find "$dir" -type l -print -delete
78 Verbose "Activating (linking) default plugins ..."
82 ln -sv "$AXZSH/default_plugins/"* "$PWD"
87 NAME="$(basename "$0")"
89 [[ $# -gt 0 ]] || Usage
91 if [[ -z "$AXZSH" || ! -d "$AXZSH" ]]; then
92 echo "$NAME: Oops, \"AXZSH\" is not set or invalid!"
101 [[ $# -gt 0 ]] || Usage
102 for plugin in "$@"; do
103 EnablePlugin "$plugin"
107 [[ $# -gt 0 ]] || Usage
108 for plugin in "$@"; do
109 DisablePlugin "$plugin"
113 [[ $# -eq 0 ]] || Usage