-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 =pod I've been working on C, the Emacs mode for editing Perl, again. It now comes in two flavors -- plain Perl, and Moose. The plain Perl version has not changed much in the last year, it is the same cperl-mode that you all know and love, but with support for all Perl 5.10 features. You can get that branch here: L The interesting thing, though, is the Moose branch, available from: L This supports all of the Perl syntax extensions offered by C and C. Here's a picture of what it looks like: L Basically, it supports all the new features that these modules introduce as though they were native Perl features. It adds the method declaration keywords "method", "multi method", "before", "after", "around", "augment", and "override"; the Moose sugar "requires" and "has"; and also highlights the method signatures in the same way they would be highlighted in other languages. Unlike the version from a few days ago, this version will work perfectly if you don't use MooseX::Declare; it won't mess up any highlighting if you use plain Moose. (The old version was confused by the single quote in C<< before 'foo' => sub { >>, since it tried to parse it like it was C<< sub 'foo' ... >>, which is not quite what you want due to C<'> being a package separator. Argh! But it's fixed now, so worry not...) Finally, all this support is easily customizable now; if you invent a new method-defining keyword, you can just add it to the C list, and cperl will automatically treat it like Perl's built-in C keyword. All the work done to highlight method signatures is done in a separate routine, C. So if you want to change something, you can do it fairly easily. (I should mention that that function also highlights subroutine prototypes now, so even if you don't use C, traditional prototypes like C will still be prettified for you.) Anyway, if you are using GNU Emacs 23, you should try this out. It's made using Perl even nicer for me. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkoHSkcACgkQ2rw+dVvzZm3zMwCePbitu/UMSd5LiFgf3ER1k0s+ zvoAoK9JsNxj5MELIJh/NEFvGBe7ZM9N =btN5 -----END PGP SIGNATURE-----