Here's the README file from http://sourceforge.net/projects/ruedit :

RuEdit is a Ruby programmer's editor with a built-in macro language.
The macro language is Ruby.

The current status is "teetering on the brink of usability". Within a
few tweaks, menu items and 'rescue's it will be competitive with
GTK+'s GEdit.

RuEdit hearkens back to fond memories of the AmigaDOS shareware
editor UEdit. Specifically, you could author a new command into this
editor
by typing it into any buffer, selecting the command to compile it, and
then run
it. Don't mode me in.

To install:

	install Ruby and GTK+ 1.2
	
	get the latest ruby-gnome by casting these magic spells:
	
		cvs -d:pserver:anonymous / cvs.ruby-gnome.sourceforge.net:/cvsroot/ruby-gnome
login
                                
		cvs -z3 -d:pserver:anonymous / cvs.ruby-gnome.sourceforge.net:/cvsroot/ruby-gnome
co .

		cd ruby-gnome
		ruby extconf.rb
		make
		su -c 'make install'
	
	(We require the latest because my main man Neil Conway added 
	two little tweaks crucial to the event loop.)

	Install ruedit like this:

		cp .rueditrc ~

	Let'er rip!

		./ruedit README

To demo:

	Looks like just another idiotic IDE, right?

	Wrong. Enter this text:

		1 + 2

	Now select that text, and hit <Shift+Ctrl+F5>.

	The result should appear in the trace panel. I'l leaving verifying 
	its mathematical accuracy as an exersize for the user.

	Now enter this text:

		messageBox 'hello universe'

	Select it, and bang <Shift+F5>.

	Now to add a keystroke.

	ue.addCommand ("F6") { messageBox 'hello universe' }

	Select it, execute it, and tap <F6>.
	
	See? You can author keystrokes as fast as you can think of them. 
	The SaveCommands button appends selected text to the file ~/.rueditrc
	
	That file stores all commands. As we add them we will groom that file
	to apply OnceAndOnlyOnce; this will raise frequently used features,
such
	as 'collectSelection', into ruedit proper, and make the commands
easier
	to write.
	
ISSUES:

The first critical path feature to add is rock-solid error rescues.
Right
now we simply drop dead over every little error. This is obviously
what the
trace window will be for.

The goal for the Commands menu is to present these abilities:

	execute a command line
	pipe a command line's output into the current buffer (such as "sort")
	execute a script, collect error messages, and navigate to the
offending line
	
I have personally found that last feature to be the most required one
to use
an editor as an IDE.

-- 
  Phlip                          phlip_cpp / my-deja.com
          http://www.greencheese.org/ParodyMode
  --  It's a small Web, after all...  --