summaryrefslogtreecommitdiff
path: root/.config/bash/rc.d
diff options
context:
space:
mode:
Diffstat (limited to '.config/bash/rc.d')
-rw-r--r--.config/bash/rc.d/emacs.sh43
1 files changed, 5 insertions, 38 deletions
diff --git a/.config/bash/rc.d/emacs.sh b/.config/bash/rc.d/emacs.sh
index 9c1bf4d..f484bbb 100644
--- a/.config/bash/rc.d/emacs.sh
+++ b/.config/bash/rc.d/emacs.sh
@@ -1,41 +1,8 @@
-#!/bin/bash
-
case "$TERM" in
eterm*)
- SELECTED_EDITOR='emacsclient'
- EDITOR=$SELECTED_EDITOR
- VISUAL=$SELECTED_EDITOR
- export SELECTED_EDITOR EDITOR VISUAL
- # The following uses the variable _EMACS_BUFFER to store some state
- _emacs_quote() {
- local str="$*"
- str="${str//\\/\\\\}"
- str="${str//\"/\\\"}"
- str="\"${str}\""
- printf '%s' "$str"
- }
- _emacs_rename_terminal() {
- local name="$(_emacs_quote "$(_emacs_get_desired_buffer_name)")"
- if [[ -n $_EMACS_BUFFER ]]; then
- local buffer="(get-buffer $_EMACS_BUFFER)"
- else
- local buffer='(window-buffer (selected-window))'
- fi
- _EMACS_BUFFER="$(emacsclient -e "(with-current-buffer ${buffer} (rename-buffer ${name} t)))" 2>/dev/null)"
- }
- _emacs_get_short_cwd() {
- local base=$1
- local suffix=''
- if [[ $base =~ (/(src|pkg|doc|pkg-libre|src-libre|trunk|tags|branches))*$ ]]; then
- suffix=$BASH_REMATCH
- base=${base%$suffix}
- fi
- base=${base##*/}
- echo ${base}${suffix}
- }
- _emacs_get_desired_buffer_name() {
- echo "*ansi-term*<$(_emacs_get_short_cwd "$PWD")>"
- }
- PROMPT_COMMAND='_emacs_rename_terminal "$(_emacs_get_desired_buffer_name)"'
- :;;
+ SELECTED_EDITOR='emacsclient'
+ EDITOR=$SELECTED_EDITOR
+ VISUAL=$SELECTED_EDITOR
+ export SELECTED_EDITOR EDITOR VISUAL
+ :;;
esac