aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorMiquel Sabaté Solà <mikisabate@gmail.com>2024-08-26 23:55:22 +0200
committerMiquel Sabaté Solà <mikisabate@gmail.com>2024-08-26 23:55:22 +0200
commit63e0b3c9df5748ae5143403abaa8ea8e5f9c3a15 (patch)
tree4fcaa3d366242cfeab73ba36bc325d01e0ea2579 /bin
parentbcef09447f2e5f87b2bf874648463c9ce1e2c8ec (diff)
downloaddotfiles-63e0b3c9df5748ae5143403abaa8ea8e5f9c3a15.tar.gz
dotfiles-63e0b3c9df5748ae5143403abaa8ea8e5f9c3a15.zip
Make 'e' my new EDITOR
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
Diffstat (limited to 'bin')
-rwxr-xr-xbin/e24
-rwxr-xr-xbin/emacsclient-a-nw18
2 files changed, 16 insertions, 26 deletions
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 <http://www.gnu.org/licenses/>.
-# 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
diff --git a/bin/emacsclient-a-nw b/bin/emacsclient-a-nw
deleted file mode 100755
index b169b85..0000000
--- a/bin/emacsclient-a-nw
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-# Copyright (C) 2019-Ω Miquel Sabaté Solà <mikisabate@gmail.com>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-emacsclient -a "" -nw "$@" -c