browse-implementors also for javaScript
authorClaus Gittinger <cg@exept.de>
Thu, 28 May 2009 08:46:27 +0200
changeset 3895 77476b56175b
parent 3894 695ab7122422
child 3896 ddab6266736f
browse-implementors also for javaScript
Workspace.st
--- 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 $'
 ! !