+
+ if [[ "$type" == "zprofile" && -d "$dname/functions" ]]; then
+ # Add plugin function path when folder exists
+ [[ -n "$AXZSH_DEBUG" ]] \
+ && echo " - $plugin ($type): functions ..."
+ axzsh_fpath+=("$dname/functions")
+
+ # Add function path to cache file.
+ [[ -n "$cache_file" ]] \
+ && echo "axzsh_fpath+=('$dname/functions')" >>$cache_file
+ fi
+
+ if [[ -r "$fname" ]]; then
+ # Read plugin ...
+ [[ -n "$AXZSH_DEBUG" ]] \
+ && echo " - $plugin ($type) ..."
+
+ # Note for "external" ("repo/*") plugins and "dumb" terminals:
+ # These (modern?) plugins most probably don't expect such an
+ # unusual old terminal configuration and don't behave well
+ # (echo color sequences, for example). Therefore we DON'T load
+ # any external plugins at all when running on such a terminal:
+ # this results in reduced/disabled functionality, but hopefully
+ # in readable output ...
+
+ case "$fname" in
+ *"/repos/"*)
+ axzsh_is_dumb_terminal || source "$fname"
+ ;;
+ *)
+ source "$fname"
+ esac
+
+ if [[ -n "$cache_file" ]]; then
+ # Add plugin data to cache
+ printf "# BEGIN: %s\nax_plugin_init()\n{\n" "$fname" >>"$cache_file"
+ case "$fname" in
+ *"/repos/"*)
+ echo "[[ -n \"\$AXZSH_DEBUG\" ]] && echo ' - $plugin ($type): \"$fname\" ...'" >>$cache_file
+ echo "axzsh_is_dumb_terminal || source '$fname'" >>$cache_file
+ ;;
+ *)
+ echo "[[ -n \"\$AXZSH_DEBUG\" ]] && echo ' - $plugin ($type, cached) ...'" >>$cache_file
+ "$cat_cmd" "$fname" >>"$cache_file"
+ esac
+ printf "}\nax_plugin_init\n# END: %s\n\n" "$fname" >>"$cache_file"
+ fi
+ fi
+
+ # It is a success, even if only the plugin directory (and no script!)
+ # exists at all! Rationale: The script could be of an other type ...
+ return 0