SmallSense__MethodPO.st
changeset 120 4fefce92f5bb
parent 115 254c4f5dc963
child 122 a0d62e942364
--- a/SmallSense__MethodPO.st	Fri Oct 04 08:01:47 2013 +0100
+++ b/SmallSense__MethodPO.st	Fri Oct 04 08:25:15 2013 +0100
@@ -38,6 +38,26 @@
     "Created: / 05-04-2011 / 17:08:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+cursorColumnAfterCompleteForLanguage: language
+    | stringToComplete idx |
+
+    stringToComplete := self stringToCompleteForLanguage: language.
+    language  isSmalltalk  ifTrue:[
+        idx := stringToComplete indexOf: $:.
+        ^idx == 0 ifTrue:[stringToComplete size + 1] ifFalse:[idx + 1].
+    ].
+    language isJava ifTrue:[
+        ^ (stringToComplete at: stringToComplete size - 1) isSeparator
+            ifTrue:[stringToComplete size- 2]
+            ifFalse:[stringToComplete size]
+    ].
+
+    ^ stringToComplete size + 1.
+
+    "Created: / 03-10-2013 / 16:50:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 03-10-2013 / 18:09:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 label
 
     label isNil ifTrue:[
@@ -64,10 +84,25 @@
     "Created: / 05-04-2011 / 16:51:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-stringToCompleteForLanguage: aProgrammingLanguage
-    ^ self stringToComplete.
+stringToCompleteForLanguage: language
+    | someClass |
+
+    someClass := class isBehavior ifTrue:[class] ifFalse:[class anElement].
+    someClass isJavaClass ifTrue:[
+        | method |
+
+        method := someClass compiledMethodAt: name.
+        language isSmalltalk  ifTrue:[          
+            ^  method selector upTo: $(
+        ].
+        language isJava ifTrue:[
+            ^ (method selector upTo: $() , (method numArgs == 0 ifTrue:['()'] ifFalse:['(  )']).
+        ].
+    ].
+    ^ super stringToCompleteForLanguage: language
 
     "Created: / 02-10-2013 / 02:33:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 03-10-2013 / 18:07:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !MethodPO methodsFor:'displaying'!