SyntaxHighlighter2.st
branchjv
changeset 12683 e094e18bfd10
parent 12682 6fb2176bf0fa
child 12806 d550d7de8e2d
--- a/SyntaxHighlighter2.st	Wed Apr 17 10:22:54 2013 +0200
+++ b/SyntaxHighlighter2.st	Wed Apr 17 10:41:10 2013 +0200
@@ -63,11 +63,8 @@
 "
 ! !
 
-
 !SyntaxHighlighter2 class methodsFor:'highlighting'!
 
-
-
 formatClassDefinition:aString in:aClass elementsInto: elements
     "format (recolor) a class definition expression in a given class.
      Return the text containing font changes and color information."
@@ -212,10 +209,7 @@
 
     "Modified: / 22-08-2006 / 13:32:04 / cg"
     "Created: / 05-07-2011 / 10:39:21 / cg"
-!
-
- !
-
+! !
 
 !SyntaxHighlighter2 methodsFor:'accessing'!
 
@@ -238,7 +232,6 @@
     "Created: / 16-02-2012 / 09:56:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !SyntaxHighlighter2 methodsFor:'initialization'!
 
 initialize
@@ -252,7 +245,6 @@
     "Modified: / 16-02-2012 / 09:59:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !SyntaxHighlighter2 methodsFor:'parsing-expressions'!
 
 _binaryExpressionFor:receiverArg
@@ -322,6 +314,9 @@
         expr selectorPosition:pos1.
 
         self checkPlausibilityOf:expr from:pos1 to:pos2.
+        parseForCode ifFalse:[
+            self rememberSelectorUsed:sel receiver:receiver
+        ].
         receiver := expr.   "/ for next message
     ].
     ^ receiver
@@ -387,6 +382,9 @@
     ].
     expr lineNumber:lno.
     self checkPlausibilityOf:expr from:pos1 to:pos2.
+    parseForCode ifFalse:[
+        self rememberSelectorUsed:sel receiver:receiver
+    ].
 
 "/        (contextToEvaluateIn isNil and:[selfValue isNil]) ifTrue:[    "/ do not check this for doits
 "/            receiver isSuper ifTrue:[
@@ -510,6 +508,9 @@
                 ].
                 expr lineNumber:lNr.
                 self checkPlausibilityOf:expr from:pos to:pos2.
+                parseForCode ifFalse:[
+                    self rememberSelectorUsed:sel receiver:receiver
+                ].
                 ^ expr.
             ].
         ].
@@ -524,6 +525,9 @@
         expr lineNumber:lNr.
 
         self checkPlausibilityOf:expr from:pos to:pos2.
+        parseForCode ifFalse:[
+            self rememberSelectorUsed:sel receiver:receiver
+        ].
 
         receiver := expr.   "/ for next message
     ].
@@ -550,8 +554,6 @@
     "Created: / 16-02-2012 / 21:56:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-
-
 expression
     | node savedLastSelectorElement |
 
@@ -571,8 +573,6 @@
     "Modified: / 16-02-2012 / 23:39:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-
-
 unaryExpressionFor:receiverArg
     "parse a unary-expression; return a node-tree, nil or #Error"
 
@@ -611,6 +611,9 @@
                 lastSelectorElement node parent: expr.
                 expr lineNumber:lNr.
                 self checkPlausibilityOf:expr from:pos to:pos2.
+                parseForCode ifFalse:[
+                    self rememberSelectorUsed:sel receiver:receiver
+                ].
                 ^ expr.
             ].
         ].
@@ -626,6 +629,9 @@
         lastSelectorElement node parent: expr.
 
         self checkPlausibilityOf:expr from:pos to:pos2.
+        parseForCode ifFalse:[
+            self rememberSelectorUsed:sel receiver:receiver
+        ].
 
         receiver := expr.   "/ for next message
     ].
@@ -657,7 +663,6 @@
     "Created: / 16-02-2012 / 22:21:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !SyntaxHighlighter2 methodsFor:'syntax detection'!
 
 markArgumentIdentifierFrom:pos1 to:pos2
@@ -684,8 +689,6 @@
     "Created: / 17-03-2012 / 19:02:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-
-
 markLocalIdentifierFrom:pos1 to:pos2
     | node el prevEl |
 
@@ -721,7 +724,7 @@
     "don't create symbols for partial typed selectors"
     selectorSymbol := selectorString asSymbolIfInterned.
 
-    element := SyntaxElement from: pos1 to: pos2 type: #selector value: selectorSymbol ? selectorString.
+    element := elements newElementFor: (SelectorNode value: selectorString from: pos1 to: pos2).
 
     (lastSelectorElement notNil "and:[lastSelectorElement value = selectorString]") ifTrue:[
         lastSelectorElement next: element.