-if [ -z "$EDITOR" ]; then
- # Check "atom"
- EDITOR=$(which atom 2>/dev/null)
- if [ $? -eq 0 ]; then
- EDITOR="$EDITOR --wait"
- else
- # Check "mate"
- EDITOR=$(which mate 2>/dev/null)
- if [ $? -eq 0 ]; then
- EDITOR="$EDITOR --wait"
- else
- # Check "subl"
- EDITOR=$(which subl 2>/dev/null)
- if [ $? -eq 0 ]; then
- EDITOR="$EDITOR --wait"
- else
- # Check "vim"
- EDITOR=$(which vim 2>/dev/null)
- if [ $? -ne 0 ]; then
- # Check "vi"
- EDITOR=$(which vi 2>/dev/null)
- fi
- fi
- fi
+for editor in atom mate subl vim vi; do
+ if [ -n "$commands[$editor]" ]; then
+ EDITOR="$commands[$editor]"
+ break