miscoranda: by Sean B. Palmer

emano

Most large editors are very configurable, and ones as large as emacs even have their own built in programming languages to allow people to make extensions. But this isn't the ideal design. It's just a consequence of a small project becoming larger and larger with more post facto features and bloat being added later on. This means that the wheel is being reinvented big time whenever yet another a large editor project is started.

So what about an editor that's properly designed from the start? What about an editor that's modularised for extensibility in a real language instead of having a nonce language written into it? What about having a stable core, and then a range of peripheral modules catering for extensibility and major project forks?

It's with this in mind that I created the emano editor, and completely and on purposely failed to meet the aims stated above. Instead of being a core of C with SWIG bindings for Python, Perl, and Ruby as I envisage for the larger project, emano is a flexible term editor written purely in Python. But it's still a very useful step on the way to that larger vision.

The idea behind emano is to marry nano's elegance with emacs's power, and so far it beats nano for elegance whilst failing of course to beat emacs for power. But the secondary idea behind emano is that it forms a proving ground for experimental features that should take a greater role in all editors. For example, smart commenting, easy selection, and grepping for search and navigation—all of these are already implemented in emano.

The documentation is sparse, but a few people are using and enjoying it. It's quite stable, but be wary of editing important documents. It will backup documents for you, a feature which will later become optional, but it would be a good idea to use keylogging too.

Please do try it out, and let me know how you get on with it. I'd also like to hear of any other editors that are either similar to emano, or conform more closely to the idea that I've sketched above.

by Sean B. Palmer, at 2005-04-11 13:54:30. Comment?

Python Method Meta-Decorators · Euphonic English Campaign

Sean B. Palmer