--- a/Workspace.st Thu May 28 08:38:08 2009 +0200
+++ b/Workspace.st Thu May 28 08:46:27 2009 +0200
@@ -1398,13 +1398,26 @@
browseImplementorsOfIt
"open a browser on the implementors of the selected text"
- |selectedText selector browserClass|
+ |selectedText selector browserClass na|
selectedText := self selectionAsString.
selectedText size > 0 ifTrue:[
self windowGroup withWaitCursorDo:[
- selector := SystemBrowser extractSelectorFrom:selectedText.
-
+ "/ hack, for now and expecco; must ask the Parser eventually...
+ (compilerClass notNil and:[compilerClass includesBehavior:JavaScriptParser]) ifTrue:[
+ "/ selector is in one piece anyway
+ (selectedText includes:$_) ifFalse:[
+ "/ zero or one arg - sigh
+ selector := JavaScriptParser basicNew translatedSmalltalkSelectorFor:selectedText numArgs:1.
+ selectedText := JavaScriptParser basicNew translatedSmalltalkSelectorFor:selectedText numArgs:0.
+ ] ifTrue:[
+ "/ count _#s plus one arg - sigh
+ na := (selectedText occurrencesOf:$_) + 1.
+ selector := JavaScriptParser basicNew translatedSmalltalkSelectorFor:selectedText numArgs:na
+ ].
+ ] ifFalse:[
+ selector := SystemBrowser extractSelectorFrom:selectedText.
+ ].
browserClass := UserPreferences current systemBrowserClass.
(selector notNil and:[selector ~= selectedText]) ifTrue:[
@@ -1736,5 +1749,5 @@
!Workspace class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg/Workspace.st,v 1.202 2009-05-14 12:59:08 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg/Workspace.st,v 1.203 2009-05-28 06:46:27 cg Exp $'
! !