diff options
Diffstat (limited to 'bin/ee')
-rwxr-xr-x | bin/ee | 96 |
1 files changed, 0 insertions, 96 deletions
@@ -1,96 +0,0 @@ -#!/bin/sh -set -eu - -usage() { - cat <<-'EOF' - Usage: - e [FILE] - e -h - EOF -} - -help() { - cat <<-'EOF' - - - Options: - -h, --help show this message - - FILE path to the file - - - Flexibly run a text editor, either directly or in a pipe. - - The editor used is either $VISUAL or $EDITOR, with a fallback to - vi in case any of those variables aren't defined. - - - Examples: - - Edit "file.txt": - - $ e file.txt - - - Manipulate the content of a pipe midway: - - $ seq 10 | e | grep 5 - EOF -} - -for flag in "$@"; do - case "$flag" in - (--) - break - ;; - (--help) - usage - help - exit - ;; - (*) - ;; - esac -done - -while getopts 'h' flag; do - case "$flag" in - (h) - usage - help - exit - ;; - (*) - usage >&2 - exit 2 - ;; - esac -done -shift $((OPTIND - 1)) - - -CMD="${VISUAL:-${EDITOR:-vi}}" -if [ "$CMD" = 'e' ]; then - CMD='vi' -fi - -if [ ! -t 0 ]; then - F="$(mkstemp)" - trap 'rm -f "$F"' EXIT - cat > "$F" - exec 0</dev/tty - exec 3>&1 - exec 1>/dev/tty - $CMD "$F" - cat "$F" >&3 -else - if [ $# -eq 0 ]; then - f="$(fzf --select-1 --exit-0 < "$XDG_DATA_HOME"/euandreh/e.list.txt)" - if [ -n "$f" ]; then - history -s e "$f" - sh -c "$CMD $f" - fi - else - $CMD "$@" - fi -fi |