forked from colonelpanic/dotfiles
Delete delete delete
This commit is contained in:
@@ -1,146 +0,0 @@
|
||||
# ATTENTION: Most of the functions in this file are part of a now
|
||||
# deprecated system for starting emacs that made the $EDITOR
|
||||
# environment variable work for git and other things
|
||||
|
||||
# This approach is no longer in use.
|
||||
# alias emacs='_emacs -c -n '
|
||||
# is_osx && alias emacs='cocoa_emacs'
|
||||
# alias terminal_emacs='_emacs -t'
|
||||
# is_ssh && emacs="terminal_emacs"
|
||||
|
||||
alias e='emacsclient -n'
|
||||
is_osx && alias emacs='reattach-to-user-namespace emacsclient -c -n'
|
||||
|
||||
function kill_all_emacs {
|
||||
emacs_pids | xargs kill -9
|
||||
}
|
||||
|
||||
function edb {
|
||||
\emacs --debug-init
|
||||
}
|
||||
|
||||
function cocoa_emacs {
|
||||
reattach-to-user-namespace zsh -c '_emacs -c -n "$@"'
|
||||
}
|
||||
|
||||
function _emacs_daemon {
|
||||
local server_name="$(_emacs_server_file)"
|
||||
if ! emacs_daemon_exists "$server_name"; then
|
||||
echo "Starting emacs with server name '$server_name'"
|
||||
command emacs "$@" --daemon="$server_name"
|
||||
fi
|
||||
}
|
||||
|
||||
function _emacs {
|
||||
_emacs_daemon
|
||||
emacsclient "$@" --server-file="$(_emacs_server_file)"
|
||||
}
|
||||
|
||||
function _emacs_daemon_arguments {
|
||||
_emacs_daemon "$@"
|
||||
emacsclient -c -n --server-file="$(_emacs_server_file)"
|
||||
}
|
||||
|
||||
function _emacs_server_file {
|
||||
local server_name="global"
|
||||
[ ! -z ${PER_DIRECTORY_EMACS+y} ] && server_name="$(_current_dot_directory)"
|
||||
echo $server_name
|
||||
}
|
||||
|
||||
function emacs_daemon_exists {
|
||||
! test -z "$(ps aux | grep -v grep | grep -i "emacs.*--daemon=.*$1$")"
|
||||
}
|
||||
|
||||
function _dot_directory {
|
||||
echo $1 | sed "s:/:.:g"
|
||||
}
|
||||
|
||||
function _current_dot_directory {
|
||||
local directory="$(git rev-parse --show-toplevel 2> /dev/null || pwd)"
|
||||
_dot_directory $directory
|
||||
}
|
||||
|
||||
function existing_emacs {
|
||||
# Return any existing emacs server file or the one that should
|
||||
# be created if it doesn't exist.
|
||||
local server_file="$(emacs_get_running_instances | head -n1)"
|
||||
[ -z "$server_file" ] && server_file="$(_emacs_server_file)"
|
||||
echo $server_file
|
||||
}
|
||||
|
||||
function emacs_make_frame_if_none_exists {
|
||||
execute_elisp '(make-frame-if-none-exists-and-focus)' > /dev/null
|
||||
focus_emacs
|
||||
}
|
||||
|
||||
function emacs_ensure_running_with_frame {
|
||||
test -z "$(emacs_get_running_instances)" && emacs || \
|
||||
emacs_make_frame_if_none_exists "$(emacs_get_running_instances | head -n1)"
|
||||
}
|
||||
|
||||
function execute_elisp {
|
||||
_emacs -e "$1"
|
||||
}
|
||||
|
||||
function focus_emacs {
|
||||
is_osx && osascript -e 'tell application "Emacs" to activate'
|
||||
}
|
||||
|
||||
function emacs_pids {
|
||||
local flags=''
|
||||
is_osx && flags='-i'
|
||||
pgrep "$flags" emacs
|
||||
}
|
||||
|
||||
function emacs_get_running_instances {
|
||||
emacs_pids | xargs ps -o command -p | egrep -o " --daemon=(.*)" | awk -F= '{print $2}' | sed 's/\^J3,4\^J//'
|
||||
}
|
||||
|
||||
function emacs_open {
|
||||
if ! emacs_daemon_exists; then
|
||||
emacs
|
||||
fi
|
||||
emacs_make_frame_if_none_exists
|
||||
[ ! -z "$*" ] && _emacs "$@"
|
||||
focus_emacs
|
||||
}
|
||||
|
||||
function time_emacs {
|
||||
time \emacs --daemon="timing" || echo ''; emacsclient -e "(kill-emacs)" --server-file="timing"
|
||||
}
|
||||
|
||||
function emacs_editor {
|
||||
local client_path="$(which emacsclient)"
|
||||
if is_osx; then
|
||||
reattach-to-user-namespace "$client_path" "$@"
|
||||
else
|
||||
"$client_path" "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
function emacs_pager {
|
||||
TMP="$(mktemp -t emacs_pager.XXXXX --suffix=.ansi_color)"
|
||||
echo $TMP
|
||||
cat > "$TMP"
|
||||
# -n may seem strange here, but it actually makes sense. There is
|
||||
# -no need to wait since the buffer is inside of emacs now
|
||||
emacs_editor "$TMP" -n "$@"
|
||||
rm "$TMP"
|
||||
}
|
||||
|
||||
# Make emacs the default editor.
|
||||
export EDITOR="$HOME/.lib/bin/editor.sh"
|
||||
# XXX: Set alternate editor to less on purpose to avoid having a new emacs
|
||||
# daemon start. For some reason the client doesn't detect some running emacs
|
||||
# serves and I'd rather it not try to start a new daemon when I'm already inside
|
||||
# emacs.
|
||||
export ALTERNATE_EDITOR="less"
|
||||
export VISUAL="$EDITOR"
|
||||
export GIT_EDITOR="$EDITOR"
|
||||
|
||||
# This actually gets executed in dotfiles/lib/shellrc.sh to make sure that it takes precedence over other settings
|
||||
function inside_emacs_hook {
|
||||
export PAGER="$HOME/.lib/bin/pager.sh"
|
||||
export GITPAGER="$PAGER"
|
||||
export MANPAGER="$PAGER"
|
||||
}
|
Reference in New Issue
Block a user