45 lines
1.1 KiB
Bash
Executable File
45 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
ret="$?"
|
|
|
|
# Prevent recursive loops, where these values are set to this script
|
|
p="$(which sensible-editor)"
|
|
[ "$(which $EDITOR || true)" = "$p" ] && EDITOR=
|
|
[ "$(which $VISUAL || true)" = "$p" ] && VISUAL=
|
|
[ "$(which $SELECTED_EDITOR || true)" = "$p" ] && SELECTED_EDITOR=
|
|
|
|
if [ -n "$VISUAL" ]; then
|
|
${VISUAL} "$@"
|
|
ret="$?"
|
|
if [ "$ret" -ne 126 ] && [ "$ret" -ne 127 ]; then
|
|
exit "$ret"
|
|
fi
|
|
fi
|
|
|
|
if [ -r ~/.selected_editor ]; then
|
|
. ~/.selected_editor 2>/dev/null || true
|
|
elif [ -z "$EDITOR" ] && [ -z "$SELECTED_EDITOR" ] && [ -t 0 ]; then
|
|
select-editor && . ~/.selected_editor 2>/dev/null || true
|
|
fi
|
|
|
|
${EDITOR:-${SELECTED_EDITOR:-editor}} "$@"
|
|
ret="$?"
|
|
if [ "$ret" -eq 126 ] || [ "$ret" -eq 127 ]; then
|
|
nano "$@"
|
|
ret="$?"
|
|
if [ "$ret" -eq 126 ] || [ "$ret" -eq 127 ]; then
|
|
nano-tiny "$@"
|
|
ret="$?"
|
|
if [ "$ret" -eq 126 ] || [ "$ret" -eq 127 ]; then
|
|
vi "$@"
|
|
ret="$?"
|
|
if [ "$ret" -eq 126 ] || [ "$ret" -eq 127 ]; then
|
|
echo "Couldn't find an editor!" 1>&2
|
|
echo "Set the \$EDITOR environment variable to your desired editor." 1>&2
|
|
exit 1
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
exit "$ret"
|