ANN: guirb 0.01, a multi-toolkit Irb wrapper collection

Questions I’ll save you the trouble of Asking Frequently:

  • What?

guirb is a collection of graphical frontends for irb, spun off from my
old fxirb project. It’s been reworked to have a gui-independent layer,
which TextWidget subclasses from various gui toolkits can sit on top
of.

  • Where?
  • How far along is it?

Right now there’s a minimal Tk text widget, adding little more than
autoindentation and multiline history merging to irb

  • Does it work?

More or less (see BUGS). Most critically, puts is broken, still
trying to figure out why.

  • Why bother?

It’s fun :slight_smile: Also, fxirb had a handful of appreciative users; I’m
hoping a more polished and featureful irb shell will prove useful to
people. I’d eventually like to see this become a drop-in repl
component for people writing IDEs and such, with all the major
toolkits supported. Also, it’s the first step in my long-term plan to
write a ruby clone of the DrScheme IDE (if anyone else is interested
in working on this I’d love to hear from you!)

  • Why Tk?

It’s the only toolkit that Just Worked with MRI 1.9.1. Also, the
TkText widget is pretty sweet. It should also, ideally, Just Work on
all platforms TkRuby works on, though I’ll only be developing it for
linux unless I get collaborators on the other platforms. Please do
contribute versions for your favourite toolkit, though!

  • Why 1.9?

It’s the wave of the future! I won’t gratuitously break 1.8
compatibility, but it’s not really a goal for me.

  • Why MRI?

It’s still the ‘default’ ruby. I would love to be compatible with as
many implementations as I can, though, and will happily accept patches
to that end.

  • Can I help?

Thought you’d never ask! If anyone has an idea about the two Tk issues
in the BUGS file, please do send in patches or suggestions. If you can
port the Tk frontend to other toolkits and get it working on ruby 1.9
that would be excellent, whether or not you have the time to maintain
it thereafter. And of course feature requests and bug reports are
always welcome.

martin