Baptiste,

Its' good to see people interested in the (vast) topic of Ruby IDE. As a 
member of the FreeRIDE Project (a project which goal is to create a 
multiplatform Ruby IDE) I'd be glad to welcome you on our developers 
mailing list (see http://savannah.gnu.org/projects/freeride -> Lists), 
you can also visit the "HomePage" section to get an idea of what we have 
done so far and where we are.

The design is more or less in place. Rich Kilmer put the framewrok in 
place and Curt Hibbs is ine th process of writing the first UI based on 
FOX and Scintilla. So from what I read in your message your 
participation would be more than welcome.

Hoep to see you there soon.

Laurent


Baptiste Lepilleur wrote:
>     Hi all,
> 
>     I'm glad to announce the first release of Practical Ruby
> (http://gaiacrtn.free.fr/), an IDE for Ruby on the Windows platform. It is a
> 'proof of concept' release. I got that crazy idea last Monday and finally
> implemented enough to know that it can be done:
> 
>     Practical Ruby aims to be a fast evolving IDE for Ruby development. To
> provide fast evolution, most of Practical Ruby is (will be) itself written
> in Ruby.
> 
>     The source editor is build around Scintilla Edit Control
> (http://www.scintilla.org/), a very flexible source edit control. While the
> GUI core is written using MFC, most of the tasks are delegated to Ruby
> scripts. The Scintilla Edit Control has been made accessible from Ruby, with
> an interface making the control much easier to use than in C++. Commands
> (menu entry selection, toolbar button and keyboard shortcut) processing is
> also delegated to Ruby.
> 
>     Feedback are welcome! I would really like somebody to propose a
> architecture for the command pattern in MainFrame.rb using ruby features (I
> started learning ruby less than a week ago, I'm sure there is a better way
> of implementing that with ruby's features).
> 
>     Just to give you an idea why ruby help faster development, I'll let a
> bit of code talks for itself. Here is the code that handle the 'smart
> indent' (basic at the current time):
> 
> 
> class EditControl < ScintillaBridge
>     def eventCharAdded( ch )
>         smartIndent() if ch == "\r"  ||  ch == "\n"
>     end
> 
>     def smartIndent()
>          if currentLineNumber() > 0  &&  lineLength( currentLineNumber() )
> <= 2      # 2 <= '\r\n'
>             previousLine = getLine( currentLineNumber() -1 )
>            indent = /^\s*/.match( previousLine )[0]
>            replaceSel( indent )
>         end
>     end
> end
> 
> Enjoy,
> Baptiste Lepilleur.
> 
> ---
> Baptiste Lepilleur <gaiacrtn / free.fr>
> http://gaiacrtn.free.fr/
> 
> 
> 
> .
> 



-- 
Laurent JULLIARD - Xerox R&T/SSTC/XPA - Open Source team
 >> Host your Xerox Software project on CodeX: http://codex.xerox.com
 >> Linux@Xerox community: http://xww.linux.world.xerox.com