]> arthur.barton.de Git - ax-zsh.git/blobdiff - plugins/editor_select/editor_select.zprofile
editor_select: Validate an already set $EDITOR
[ax-zsh.git] / plugins / editor_select / editor_select.zprofile
index 3aecb6ff01e64efbb84bd18ba8cb67a6cb8dc7cd..e55cf33c881d2ee7e9fc2764f7101937d3a3e8ed 100644 (file)
@@ -1,7 +1,13 @@
 # AX-ZSH: Alex' Modular ZSH Configuration
 # editor_select.zprofile: Setup $EDITOR for the "best" available editor
 
+if [[ -n "$EDITOR" && ! -x "$EDITOR" && -z "$commands[$EDITOR]" ]]; then
+       # Oops, current $EDITOR seems to be invalid! Start over!
+       unset EDITOR
+fi
+
 if [[ -z "$EDITOR" ]]; then
+       # Auto-detect a "good" editor ...
        if [[ -n "$DISPLAY" ]]; then
                # X11 available, consider X11-based editors, too!
                x11_editors="gvim"
@@ -12,7 +18,7 @@ if [[ -z "$EDITOR" ]]; then
                $x11_editors
                vim nano joe vi
        ); do
-               if [ -n "$commands[$editor]" ]; then
+               if [[ -n "$commands[$editor]" ]]; then
                        EDITOR="$commands[$editor]"
                        break
                fi