What do vim, mutt, and screen have in common?
They're powerful text-mode programs that are the staple of many programmers' toolboxes. They're written in C. They all have their own custom scripting/configuration language.
What if these programs were written in a high-level language like Ruby, and the scripting/configuration language was Ruby also? What if the extension mechanism was flexible enough that most of the program was implemented using the extension mechanism?
That is what silkscreen is.
I can hear the Emacs users crying "you silly fool, that's what Emacs is, and it already exists!" That's very true. silkscreen takes a lot of inspiration from Emacs. Let me distinguish silkscreen from Emacs in the following ways (without starting a relgious war):
silkscreen is released under the MIT license (BSD, but simpler).
silkscreen is currently immature. The implementation of TerminalWindow (terminal multiplexing, a la screen) has made good progress, and can currently run "vim" in color reasonably well. However, many escape sequences are still unimplemented, and it has not been thoroughly tested.
I have begun working on a mail client (a la mutt). It will focus on being really fast and using IMAP as efficiently as possible.
silkscreen is hosted in a darcs repository. Retrieve it with:
$ darcs get http://www.reverberate.org/repos/silkscreen
If you don't have darcs, you can download a nightly snapshot:
silkscreen requires the following:
This software is written by Joshua Haberman.
For email, my users.sourceforge.net email alias is 'habes'.