Using Emacs to develop Catalyst applications
============================================
Currently, there is no seamless integration between Catalyst and Emacs, but
this is nothing, a few libraries and a few lines of *elisp* couldn't fix...
Emacs version
-------------
Not really Catalyst-specific, but I'd recommend you try out a snapshot of
Not really catalyst-specific, but I'd recommend you try out a snapshot of
Emacs 23, all the cool kids are using it nowadays. Users of this distribution
can find a [pre-packaged version of Emacs 23 for Ubuntu](https://launchpad.net/~ubuntu-elisp/+archive/ppa)
on Launchpad.
cperl-mode
----------
Even if you go with Emacs 23, the cperl-mode package is quite
outdated. Furtunately, Jonathan Rockway has picked it up and released an
[updated version of cperl-mode.el](http://github.com/jrockway/cperl-mode/tree/master)
that supports Moose and Perl 5.10 idioms.
IDEs for use with Emacs
-----------------------
You should at least have a look at
[Devel::PerlySense](http://search.cpan.org/perldoc?Devel::PerlySense) and
[Sephia](http://search.cpan.org/dist/Sepia/) and figure out how these could
help you. Personally I mostly use Devel::PerlySense for testing integration
and Sephia with w3m for POD viewing, but these packages are much more powerful
than that.
Shamles plug
------------
Additionally, you can find a helper script named
[catalyst-server.el](http://github.com/willert/Catalyst-Emacs-Integration/tree/master)
[catalyst-server.el on github](http://github.com/willert/Catalyst-Emacs-Integration/tree/master)
to run, restart and kill a development server for Catalyst from anywhere
that can run, restart and kill a development server for Catalyst from anywhere
within the project at github. Additionally this helper installs output filters
within the project. Additionally this helper installs output filters
that create buttons (emacs-speak for click-able links) for any project file
mentioned in the output of your server.