From: Werner S. (murphee) <wer...@gm...> - 2006-12-19 20:46:12
|
howdy, OK, here's a patch I'd like to propose. It does the following: Launching: - Enhances RubyInterpreter class to have an executorID - adds an extension point to add CommandExecutors (these call Ruby) This is necessary so plugins can add their own Command Executors; I'll need this for the JRuby plugin, so that it can set JAVA_HOME, etc when calling JRuby; I guess this might be handy for other stuff too; - updated the exec call in CommandExecutor to take an IProject (so the launch can make use of information in the IProject) - changed the StandardCommandExecutor for the updates to the interface; - change to eclipseDebug.rb I removed one character from the breakpoint command handling code in eclipseDebug.rb; the character is a '+' in a Regex, that doesn't seem to belong there; it doesn't change the behavior of the code (C/Ruby debugging works normally), but it tripped up JRuby (http://jira.codehaus.org/browse/JRUBY-283). Debug UI Plugin - a GUI change: I added something to the dialog that allows you to add Ruby Interpreters, a ComboBox that lists all the installed CommandExecutors; for now it should just show "Standard"; the chosen CommandExecutor information is also persisted with the RubyInterpreter information; UI Plugin: - updated RI View & Friends to use the updated exec call of CommandExecutor - addded HyperLinkProvider extension point - added RubyElement HyperlinkProvider that handles links to Ruby classes & friends (this uses the code that Chris recently committed and updated BUT I moved it to an .internal package) and fiddled a bit with it; Question: There seems to be a bug in the way these RubyInterpreters are handled in the Preferences; if you add one in the Installed Interpreters page, they're not persisted. However: if you add them in the LaunchConfiguration page, their information get's written to some XML configuration file. The code for this seems to be missing in the Preferences page for this. Can somebody confirm this? @RadRails guys: the Hyperlink extension point is probably useful for you, if you want to handle things like 'render :template, "foo/bar"' (or whatever the arguments are). I can send you a sample HyperlinkProvider for JRuby's include_class if you want some idea how to implement this; OK, I hope I added everything that's necessary. murphee -- Blog @ http://jroller.com/page/murphee Maintainer of EclipseShell @ http://eclipse-shell.sourceforge.net/ |