Processing mode for Emacs
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Processing mode for Emacs.
Written by Rudolf Olah.

Licensed under the GNU GPL version 3 or later.

== About ==

This mode is a derivative of the java-mode. It adds key-bindings for
running/compiling Processing sketches and it also highlights keywords
found in the Processing language, such as ``setup'', ``draw'', and

== Setup ==

In your .emacs file, add this:

    (add-to-list 'load-path "/path/to/processing-emacs/")
    (autoload 'processing-mode "processing-mode" "Processing mode" t)
    (add-to-list 'auto-mode-alist '("\\.pde$" . processing-mode))
    (setq processing-location "/path/to/processing")

== Usage ==

The key-bindings are:

    C-c C-b    Preprocess, and compile a sketch into .class files.
    C-c C-r    Preprocess, compile, and run a sketch.
    C-c C-p    Preprocess, compile, and run a sketch full screen.

The mode also includes helpful code snippets. To use them you must
install the YASnippet package found here:

== Bugs ==

* Compilation...there is a bug in the compilation because the
  Commander class of Processing does not accept the ``--preferences''
  option. The workaround is to copy your ``preferences.txt'' from your
  home directory (in Linux it can be found in ``~/.processing/'') to
  the sketch directory. You will have to create a sub-directory called
  ``lib'' in the sketch directory which is where the
  ``preferences.txt'' file will reside. Sym-linking also works.

=== Using Processing Libraries ===

Processing allows developers to extend its functionality with
libraries. These are collections of JAR (Java ARchive) files that can
be included with a sketch.

processing-mode handles the inclusion of libraries by opening up a
file named ``libraries_required.txt'' in the sketch folder. On each
line of that file will be the name of the library's folder.

As an example, let's say we have a sketch that uses the JavaScript
library. To include it with the sketch, our ``libraries_required.txt''
would look like:


Just a single line :D processing-mode will do some magic and use the
following path when including the library with the sketch compilation:


In the ``library'' sub-folder of all libraries there will be a set of
JAR files. They will be added to the classpath when the sketch is
compiled or run.

== Fixed Bugs ==

* Compilation errors...The regular expression used to detect
  compilation error messages does indeed work. Unfortunately there is
  another regular expression that is interfering and being matched
  _before_ it.

  The fix is to shadow the global variable with a local one that
  narrows down the searchable regex list to a single regexp: