EditorClient is a small application which supports the ODB protocol developed by Bare Bones Software: and runs a shell command to start an editor in response. It was originally written for use with Emacs, but can be used with any editor which can be started from the command line and blocks until it has finished editing the file.
What editor to open and how can be customized by setting environment
variables (or by editing EditorClientWorker.py
). The variables in
question in order of preference are:
EDITOR_CLIENT_COMMAND
can be used to specify the whole command line. In this case it must be ready to printlinenum
andfilename
. See below.EMACSCLIENT
is used for the editor andEMACS
for the alternate.- Defaults to
/Applications/Emacs.app/Contents/MacOS/bin/emacsclient
for emacsclient and empty for alternate.
If EDITOR_CLIENT_COMMAND
is set it should be something ready for
Python string formatting taking linenum
and filename
as the
keys (you can ignore linenum if your editor doesn't support it.)
Setting EMACSCLIENT
and EMACS
will produce the same as if you
set EDITOR_CLIENT_COMMAND
to:
"$EMACSCLIENT -c -a '$EMACS' +%(linenum)s '%(filename)s'"
Working with environment variables in OS X can be confusing since
exporting them in .bashrc
for example is ineffective. Instead you
must set them in
~/.MacOSX/environment.plist
. Brian D Foy wrote about a way to
update/create this file based on your shell environment (and which can
be run in .bashrc
for example).