]> arthur.barton.de Git - ax-zsh.git/blobdiff - ax.zsh
New plugin "grep"
[ax-zsh.git] / ax.zsh
diff --git a/ax.zsh b/ax.zsh
index aaef6681c54e1cfb12b8dfa1772ce3b9d432b954..072adf55e18607b9c444bb86c6bbcbc38050b203 100644 (file)
--- a/ax.zsh
+++ b/ax.zsh
@@ -1,6 +1,11 @@
 # AX-ZSH: Alex' Modular ZSH Configuration
 # Copyright (c) 2015 Alexander Barton <alex@barton.de>
 
+script_name="$(basename -- "${(%):-%N}")"
+script_type="$script_name[2,-1]"
+
+[[ -f "$HOME/.axzsh.debug" ]] && echo "» $script_name:"
+
 # Load plugin code of a given type.
 # - $1: plugin name
 # - $2: plugin type (optional; defaults to "zshrc")
@@ -8,11 +13,12 @@ function axzsh_load_plugin {
        plugin="$1"
        [[ -z "$2" ]] && type="zshrc" || type="$2"
 
-       for dname in \
-               "$AXZSH_PLUGIN_D/$plugin" \
-               "$AXZSH/plugins/$plugin" \
-               "$AXZSH/core/$plugin" \
-       ; do
+       for dname (
+               "$AXZSH_PLUGIN_D/$plugin"
+               "$ZSH_CUSTOM/$plugin"
+               "$AXZSH/plugins/$plugin"
+               "$AXZSH/core/$plugin"
+       ); do
                [[ ! -d "$dname" ]] && continue
 
                fname="$dname/$plugin.$type"
@@ -36,15 +42,24 @@ function axzsh_load_plugin {
                fi
                return 0
        done
-       [[ -f "$HOME/.axzsh.debug" ]] \
-               && echo "Plugin \"$plugin\" not found (type \"$type\")!" >/dev/stderr
+       # Plugin not found!
+       if [[ -f "$HOME/.axzsh.debug" ]]; then
+               # Show error message for all stages in "debug mode":
+               echo "AX-ZSH plugin \"$plugin\" not found (type \"$type\")!" >&2
+       elif [[ "$type" == "zshrc" ]]; then
+               # Show error message for the "zshrc" stage:
+               echo "AX-ZSH plugin \"$plugin\" not found, skipped!" >&2
+       fi
        return 1
 }
 
 # Make sure that "AXZSH" variable is set and exported
 if [[ -z "$AXZSH" ]]; then
        export AXZSH="$HOME/.axzsh"
-       [[ -f "$HOME/.axzsh.debug" ]] && echo "AXZSH=$AXZSH"
+       if [[ -f "$HOME/.axzsh.debug" ]]; then
+               echo "AXZSH=$AXZSH"
+               echo "AXZSH_PLUGIN_D=$AXZSH_PLUGIN_D"
+       fi
 fi
 
 # Setup list of default plugins if not set already. This allows users to
@@ -53,13 +68,15 @@ typeset -U axzsh_default_plugins
 if ! typeset +m axzsh_default_plugins | fgrep array >/dev/null 2>&1; then
        axzsh_default_plugins=(
                byebye
-               completion
                correction
+               grep
                history
+               less
                ls
                prompt
                ssh
                std_aliases
+               std_env
        )
 fi
 
@@ -74,9 +91,6 @@ plugin_list=(
 )
 
 # Read in all the plugins for the current "type":
-script_name="$(basename -- "${(%):-%N}")"
-script_type="$script_name[2,-1]"
-[[ -f "$HOME/.axzsh.debug" ]] && echo "» $script_name:"
 for plugin ($plugin_list); do
        axzsh_load_plugin "$(basename "$plugin")" "$script_type"
 done