From 63e0b3c9df5748ae5143403abaa8ea8e5f9c3a15 Mon Sep 17 00:00:00 2001 From: Miquel Sabaté Solà Date: Mon, 26 Aug 2024 23:55:22 +0200 Subject: Make 'e' my new EDITOR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Miquel Sabaté Solà --- bin/e | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'bin/e') diff --git a/bin/e b/bin/e index a58edb0..32b05a0 100755 --- a/bin/e +++ b/bin/e @@ -14,14 +14,22 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -# A handy shortcut for opening up the default editor with the given -# arguments. If this script is run by root, then it will start GNU Emacs with -# the --quick flag. -# -# NOTE: this script is meant to be installed globally. +# The *default editor*, which is meant to be installed globally. It attempts to +# write an editor with this preference: +# 1. GNU Emacs in client mode. +# 2. Vim -> Vi. +# 3. Standalone GNU Emacs. +# 4. Outta luck: print an error message. -if [[ $EUID -eq 0 ]]; then - exec emacs --quick --no-window-system "$@" +if [ -x "$(command -v emacsclient)" ]; then + exec emacsclient -a "" -nw "$@" -c +elif [ -x "$(command -v vim)" ]; then + exec vim "$@" +elif [ -x "$(command -v vi)" ]; then + exec vim "$@" +elif [ -x "$(command -v emacs)" ]; then + exec emacs --quick "$@" else - exec "$EDITOR" "$@" + echo "No suitable editor found!" + exit 1 fi -- cgit v1.2.3