Hey all,
Thought I should share some info on what the current state is of RDT.
So I was aiming for a release back in the beginning of December, but I was
way off. For me, the thing holding back 0.9.0 was properly exposing the new
functionality provided by the Google SoC work, experimental type
inferencing/code completion. I know Markus has also been working hard on
ruby-debug support as an alternative debugger.
So what needed to be done to do the type inferencing stuff right? Well, to
infer we need the source code of any type we tried to infer and that meant
to be of any use we'd need to have the source for the Ruby Std library and
core. The problem is that a long time ago I made simplifications to the
underlying model that left it so that we couldn't add libraries to a ruby
project. In the nightly builds I had a hack that would create a symbolic
link to ruby library stubs inside the plugin. It was ugly, it was obvious to
the user, and it broke as soon as the plugin version changed.
So, recently I started trying to fix the internals to lay support for adding
libraries and doing loadpaths properly. Initially, I lumped together a bunch
of concepts that are distinct in the JDT model: In my model a project was
always the root of all source code, and there was no element between a
project and the actual scripts in the hierarchy. In the JDT they represent
the root source folder and each folder underneath as elements in the
hierarchy (PackageFragmentRoot and PackageFragment). I mistakenly thought
that imposed more restrictions than it really does, and I didn't really
understand the concept well enough so I dropped that from my translation of
the core stuff. Recently I just made strides to add those hierarchy elements
back in. This will allow us to insert external libraries at the level of
SourceFolderRoot. But to be able to do this I also needed to tackle loadpath
code, and need to start allowing variables in loadpaths (so it resolves
dynamically to the currently selected ruby interpreter).
So for those of you who care about wonky stuff like this, there's a lot of
new stuff under the hood of the RDT nightly builds now. It'll be a little
shaky for a little while while I work out the kinks, but I should now be
able to start getting the Ruby libraries hooked to all Ruby projects and
take advantage of that when we do Go to Declaration/code completion/etc.
This also affects the launching stuff around interpreters. I've been holding
off on applying murphee's patch because I knew I'd be hitting that code
pretty hard soon enough. So murphee, thanks for your patience - I haven't
forgotten the patch. I just have to do a lot there first...
Thanks,
Chris
--
http://cwilliams.textdriven.com
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Rubyeclipse-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rubyeclipse-development