@title User Guide: Configuring an External Editor
@group userguide

Setting up an external editor to integrate with Diffusion and Differential.

= Overview =

You can configure a URI handler to allow you to open files from Differential
and Diffusion in your preferred text editor.

= Configuring Editors =

To configure an external editor, go to Settings -> Application Settings ->
Display Preferences and set "Editor Link" to a URI pattern (see below). This
will enable an "Open in Editor" link in Differential, and an "Edit" button in
Diffusion.

In general, you'll set this field to something like:

  lang=uri
  editor://open/?file=%f

Some editors support opening multiple files at once when filenames are separated
by spaces. If your editor supports this feature, set "Edit Multiple Files" to
"Supported". Otherwise, you can set it to "Not Supported" to disable "Open All"
buttons in the interface.

== Configuring: TextMate on OS X ==

TextMate installs a ##txmt://## handler by default, so it's easy to configure
this feature if you use TextMate.

First, create a local directory with symlinks for each repository callsign. For
example, if you're developing Phabricator, it might look like this:

  /Users/alincoln/editor_links/ $ ls -l
  ... ARC -> /Users/alincoln/workspace/arcanist/
  ... P -> /Users/alincoln/workspace/phabricator/
  ... PHU -> /Users/alincoln/workspace/libphutil/

Then set your "Editor Link" to:

  lang=uri
  txmt://open/?url=file:///Users/alincoln/editor_links/%r/%f&line=%l

== Configuring: Other Editors ==

General instructions for configuring some other editors and environments can be
found here:

  http://wiki.nette.org/en/howto-editor-link
