-#!/bin/zsh
+#!/usr/bin/env zsh
#
# AX-ZSH: Alex' Modular ZSH Configuration
# Copyright (c) 2015-2016 Alexander Barton <alex@barton.de>
done
if [[ -z "$ax_common_sourced" ]]; then
function ax_msg {
- case "$1" in
- "1"|"2") echo -n "! "; ;;
- *) echo -n "* "; ;;
- esac
shift
echo "$@"
}
for dir ($AXZSH/plugins/*(N)); do
plugin=$(basename "$dir")
- # Check plugin blacklist
- case "$plugin" in
- "ssh_secure"|"zkbd")
- continue
- ;;
- esac
-
# Test if plugin is already enabled
[[ -e "$AXZSH/active_plugins/$plugin" ]] \
&& enabled=" (enabled)" \
new_plugin=""
for script ($AXZSH/plugins/$plugin/$plugin.{zshrc,zprofile}); do
[[ -r "$script" ]] || continue
- zsh -i -c "source $script"; r=$?
+ zsh -i -c "AXZSH_PLUGIN_CHECK=1 source $script"; r=$?
if [[ $r -eq 0 ]]; then
new_plugin=$plugin
break
detected_plugins+=($new_plugin)
[[ -n "$enabled" ]] || missing_plugins+=($new_plugin)
ax_msg 0 "OK."
+ elif [[ $r -eq 91 ]]; then
+ ax_msg 1 "ignored."
+ elif [[ $r -eq 92 ]]; then
+ ax_msg 1 "optional."
else
[[ -n "$enabled" ]] && invalid_plugins+=($plugin)
ax_msg 2 "failed."