File: sensible-editor

package info (click to toggle)
sensible-utils 0.0.12
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 424 kB
  • sloc: sh: 715; makefile: 142; sed: 88
file content (44 lines) | stat: -rwxr-xr-x 1,109 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/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"