summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorTristan Carel <tcarel@exalead.com>2011-04-13 17:34:51 +0200
committerTristan Carel <tcarel@exalead.com>2011-04-13 17:34:51 +0200
commit2fba4486bfa63cf2a4a11a34c94ce123127ef4c9 (patch)
treed10fe86292d4821a02859859b8203e1405c216b3 /plugins
parentbbf1f87ee6aa73a11bcb0a3b33fbe7349d20ebcb (diff)
downloadzsh-2fba4486bfa63cf2a4a11a34c94ce123127ef4c9.tar.gz
zsh-2fba4486bfa63cf2a4a11a34c94ce123127ef4c9.tar.bz2
zsh-2fba4486bfa63cf2a4a11a34c94ce123127ef4c9.zip
Add new plugin emacs, to take benefit of daemon capabilities of emacs >=23
Diffstat (limited to 'plugins')
-rw-r--r--plugins/emacs/emacs.plugin.zsh11
-rwxr-xr-xplugins/emacs/emacsclient.sh10
2 files changed, 21 insertions, 0 deletions
diff --git a/plugins/emacs/emacs.plugin.zsh b/plugins/emacs/emacs.plugin.zsh
new file mode 100644
index 000000000..bca79e70e
--- /dev/null
+++ b/plugins/emacs/emacs.plugin.zsh
@@ -0,0 +1,11 @@
+# Use daemon capabilities of emacs 23
+if "$ZSH/tools/require_tool.sh" emacs 23 2>/dev/null ; then
+ export EDITOR="$ZSH/plugins/emacs/emacsclient.sh"
+ alias emacs="$EDITOR --no-wait"
+ alias e=emacs
+
+ alias emasc=emacs
+ alias emcas=emacs
+ # create a new X frame
+ alias emacs_frame='emacsclient --alternate-editor "" --create-frame'
+fi
diff --git a/plugins/emacs/emacsclient.sh b/plugins/emacs/emacsclient.sh
new file mode 100755
index 000000000..3475926a6
--- /dev/null
+++ b/plugins/emacs/emacsclient.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+# Starts emacs daemon if not already started.
+
+x=`emacsclient --alternate-editor '' --eval '(x-display-list)' 2>/dev/null`
+if [ -z "$x" ] ;then
+ emacsclient --alternate-editor "" --create-frame $@
+else
+ emacsclient --alternate-editor "" $@
+fi