]> arthur.barton.de Git - ax-zsh.git/commitdiff
Allow plugins to indicate "ignored" and "optional" state
authorAlexander Barton <alex@barton.de>
Sat, 27 Aug 2016 17:08:23 +0000 (19:08 +0200)
committerAlexander Barton <alex@barton.de>
Sat, 27 Aug 2016 17:08:23 +0000 (19:08 +0200)
bin/axzshctl
plugins/iterm2/iterm2.zshrc
plugins/powerline-shell/powerline-shell.zshrc
plugins/ssh_secure/ssh_secure.zshrc
plugins/virtualenvwrapper/virtualenvwrapper.zshrc
plugins/zkbd/zkbd.zshrc

index 98e870a932071cfc93e6032c181852db8634adfc..e64e80ac8584150829ac4931c11d4839a21f34fb 100755 (executable)
@@ -209,13 +209,6 @@ function CheckPlugins {
        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)" \
@@ -226,7 +219,7 @@ function CheckPlugins {
                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
@@ -236,6 +229,10 @@ function CheckPlugins {
                        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."
index 6c022729c90dba28f52f526d11425da8afa1cfbd..7ec158eee824e31f04cadf7a6b4577545f6fbfef 100644 (file)
@@ -1,8 +1,11 @@
 # AX-ZSH: Alex' Modular ZSH Configuration
 # iterm2.zshrc: iTerm2 Shell Integration
 
-axzsh_is_dumb_terminal && return
-[[ "$TERM" != "screen" && "$TERM" != "screen-256color" ]] || return
+[[ -z "$AXZSH_PLUGIN_CHECK" ]] || return 92
+
+# Check prerequisites ...
+axzsh_is_dumb_terminal && return 91
+[[ "$TERM" != "screen" && "$TERM" != "screen-256color" ]] || return 91
 
 ITERM2_SHOULD_DECORATE_PROMPT="1"
 
index a5c9d8fd9da27eb339c3aef9436785a5e999d638..7a4873f77589c3a91dfb8d0d984a5f6cf70185af 100644 (file)
@@ -1,7 +1,7 @@
 # AX-ZSH: Alex' Modular ZSH Configuration
 # powerline-shell.zshrc: "powerline-shell" integration.
 
-[[ "$TERM" = "linux" ]] && return
+[[ "$TERM" = "linux" ]] && return 911
 
 if [[ -z "$POWERLINE_SHELL" ]]; then
        for p (
@@ -15,7 +15,7 @@ if [[ -z "$POWERLINE_SHELL" ]]; then
        unset p
 fi
 
-[[ -r "$POWERLINE_SHELL" ]] || return
+[[ -r "$POWERLINE_SHELL" ]] || return 1
 
 function powerline_precmd() {
        PS1="$(
index e0c9b34b3c7006c1046d5c381d4789b3fef754d3..e27010d2a1f8dbde7c567266311c79fa969b95c1 100644 (file)
@@ -1,6 +1,8 @@
 # AX-ZSH: Alex' Modular ZSH Configuration
 # ssh_secure.zshrc: Make SSH operations more secure
 
+[[ -z "$AXZSH_PLUGIN_CHECK" ]] || return 92
+
 # Make sure that "ssh(1)" is installed
 (( $+commands[ssh] )) || return
 
index f5138c9186a256dc0d38ea641791d9d1de6e1e61..260f890936a7271515e8c056cd7a8070d3be240b 100644 (file)
@@ -26,3 +26,4 @@ for script (
        fi
 done
 unset script
+[[ -n "$VIRTUALENVWRAPPER_SCRIPT" ]] || return 1
index 4702276ff5421497f9172d5857748e415d698d59..91617cffa2457adf1dbf093e1d755bddf979de7e 100644 (file)
@@ -1,6 +1,8 @@
 # AX-ZSH: Alex' Modular ZSH Configuration
 # zkbd.zshrc: Initialize ZKBD Keybindings
 
+[[ -z "$AXZSH_PLUGIN_CHECK" ]] || return 92
+
 autoload -Uz zkbd
 
 [[ ! -f ${ZDOTDIR:-$HOME}/.zkbd/$TERM-$VENDOR-$OSTYPE ]] && zkbd