--- 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.