# AX-ZSH: Alex' Modular ZSH Configuration
-# Copyright (c) 2015-2020 Alexander Barton <alex@barton.de>
+# Copyright (c) 2015-2022 Alexander Barton <alex@barton.de>
script_name="${${(%):-%N}:t}"
script_type="$script_name[2,-1]"
)
# Create new cache file:
- if [[ -n "$cache_file" && -w "$new_cache_file" ]]; then
- [[ -n "$AXZSH_DEBUG" ]] \
- && echo " (Writing new cache file to \"$new_cache_file\" ...)"
- if ! printf "# %s\n\n" "$(LC_ALL=C date)" >"$new_cache_file"; then
- unset new_cache_file
+ [[ -n "$AXZSH_DEBUG" ]] \
+ && echo " (Writing new cache file to \"$new_cache_file\" ...)"
+ if ! printf "# %s\n\n" "$(LC_ALL=C date)" >"$new_cache_file"; then
+ unset new_cache_file
+ else
+ # New cache file successfully created ...
+ if [[ "$type" = "ax-io" ]]; then
+ # AX-IO Stage:
+ # Write an initial PATH variable to the cache
+ # file, which becomes overwritten by the path
+ # plugin at the "zprofile" stage later on, but
+ # this way "ax-io" stage plugins have a somewhat
+ # saner PATH to begin with ...
+ printf 'export PATH="%s"\n\n' "$PATH" >>"$new_cache_file"
fi
fi
[[ -n "$SHELL" ]] || export SHELL=$(command -v zsh)
# Make sure that "AXZSH" variable is set and exported
-[[ -n "$AXZSH" ]] || export AXZSH="$HOME/.axzsh"
+[[ -n "$AXZSH" ]] || export AXZSH="${ZDOTDIR:-$HOME}/.axzsh"
# Check for "debug mode" ...
if [[ -f "$AXZSH/debug" || -f "$HOME/.axzsh.debug" ]]; then