diff options
| author | Miquel Sabaté Solà <mikisabate@gmail.com> | 2024-08-26 23:55:22 +0200 |
|---|---|---|
| committer | Miquel Sabaté Solà <mikisabate@gmail.com> | 2024-08-26 23:55:22 +0200 |
| commit | 63e0b3c9df5748ae5143403abaa8ea8e5f9c3a15 (patch) | |
| tree | 4fcaa3d366242cfeab73ba36bc325d01e0ea2579 /bin/e | |
| parent | bcef09447f2e5f87b2bf874648463c9ce1e2c8ec (diff) | |
| download | dotfiles-63e0b3c9df5748ae5143403abaa8ea8e5f9c3a15.tar.gz dotfiles-63e0b3c9df5748ae5143403abaa8ea8e5f9c3a15.zip | |
Make 'e' my new EDITOR
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
Diffstat (limited to 'bin/e')
| -rwxr-xr-x | bin/e | 24 |
1 files changed, 16 insertions, 8 deletions
@@ -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 |
