Blame view

repos/robbyrussell/oh-my-zsh/plugins/emacs/emacs.plugin.zsh 1.79 KB
093a6c34b   mj   Squashed 'repos/r...
1
2
3
4
5
6
7
8
9
10
  # Emacs 23 daemon capability is a killing feature.
  # One emacs process handles all your frames whether
  # you use a frame opened in a terminal via a ssh connection or X frames
  # opened on the same host.
  
  # Benefits are multiple
  # - You don't have the cost of starting Emacs all the time anymore
  # - Opening a file is as fast as Emacs does not have anything else to do.
  # - You can share opened buffered across opened frames.
  # - Configuration changes made at runtime are applied to all frames.
d9bebbb3c   mj   Squashed 'repos/r...
11
  if "$ZSH/tools/require_tool.sh" emacs 24 2>/dev/null ; then
093a6c34b   mj   Squashed 'repos/r...
12
13
14
15
16
17
18
      export EMACS_PLUGIN_LAUNCHER="$ZSH/plugins/emacs/emacsclient.sh"
  
      # set EDITOR if not already defined.
      export EDITOR="${EDITOR:-${EMACS_PLUGIN_LAUNCHER}}"
  
      alias emacs="$EMACS_PLUGIN_LAUNCHER --no-wait"
      alias e=emacs
d9bebbb3c   mj   Squashed 'repos/r...
19
20
      # open terminal emacsclient
      alias te="$EMACS_PLUGIN_LAUNCHER -nw"
093a6c34b   mj   Squashed 'repos/r...
21
22
23
24
25
  
      # same than M-x eval but from outside Emacs.
      alias eeval="$EMACS_PLUGIN_LAUNCHER --eval"
      # create a new X frame
      alias eframe='emacsclient --alternate-editor "" --create-frame'
093a6c34b   mj   Squashed 'repos/r...
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
  
      # Write to standard output the path to the file
      # opened in the current buffer.
      function efile {
          local cmd="(buffer-file-name (window-buffer))"
          "$EMACS_PLUGIN_LAUNCHER" --eval "$cmd" | tr -d \"
      }
  
      # Write to standard output the directory of the file
      # opened in the the current buffer
      function ecd {
          local cmd="(let ((buf-name (buffer-file-name (window-buffer))))
                       (if buf-name (file-name-directory buf-name)))"
  
          local dir="$($EMACS_PLUGIN_LAUNCHER --eval $cmd | tr -d \")"
          if [ -n "$dir" ] ;then
              echo "$dir"
          else
              echo "can not deduce current buffer filename." >/dev/stderr
              return 1
          fi
      }
  fi
  
  ## Local Variables:
  ## mode: sh
  ## End: