view unixSoft/bin/em.sh @ 351:bef29d49d19f

safe-paste: adds support for bracketed paste mode to zsh Since I don't use oh-my-zsh, just import their code directly with a reference. Based on the site where I learned about this [0], it's originally from [1], and I downloaded it from [2]. 0: https://cirw.in/blog/bracketed-paste 1: http://www.zsh.org/mla/users/2011/msg00367.html 2: https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/plugins/safe-paste/safe-paste.plugin.zsh
author Augie Fackler <raf@durin42.com>
date Mon, 10 Nov 2014 09:26:04 -0500
parents c30d68fbd368
children
line wrap: on
line source

#!/usr/bin/env bash

# desc:
#     Allows stdin to be 'piped' to an emacs server.
#
# options:
#     none
#
# usage:
#     $ echo "hello there" | emacsclientw.sh
#     $ cat ~/.emacs | emacsclientw.sh
#     $ emacsclientw.sh ~/.emacs
#
# author:
#     Phil Jackson (phil@shellarchive.co.uk)

unset DISPLAY

tmp_file="$(mktemp /tmp/emacs.tmp.XXXXX)"
lisp_to_accept_file="(~/unixSoft/emacs/fake-stdin-slurp.el \"${tmp_file}\")"

if [ ! -t 0  ]; then
    cat > "${tmp_file}"

    emacsclient -a emacs -e "${lisp_to_accept_file}" ${@}

    if [ ${?} -ne 0 ]; then
        echo "failed: your input was saved in '${tmp_file}'"
    else
        rm -f "${tmp_file}"
    fi
else
    # nothing from stdin
    emacsclient -n -a emacs ${@}
fi