class: SyntaxHighlighter2
authorClaus Gittinger <cg@exept.de>
Thu, 22 May 2014 00:25:58 +0200
changeset 14384 a0021df16c3b
parent 14383 4f852986915b
child 14385 ff99b97f1273
class: SyntaxHighlighter2 changed:6 methods error and errorFlag cleanup
SyntaxHighlighter2.st
--- a/SyntaxHighlighter2.st	Wed May 21 21:56:43 2014 +0200
+++ b/SyntaxHighlighter2.st	Thu May 22 00:25:58 2014 +0200
@@ -333,63 +333,63 @@
     [(tokenType == #BinaryOperator)
      or:[(tokenType == $|)
      or:[(tokenType == $^ and:[parserFlags allowCaretAsBinop])
-	 or:[((tokenType == #Integer) or:[tokenType == #Float])
-	     and:[tokenValue < 0]]]]
+         or:[((tokenType == #Integer) or:[tokenType == #Float])
+             and:[tokenValue < 0]]]]
     ] whileTrue:[
-	"/ kludge alarm: in a function-call argList, #, is not a binarySelector
-	inFunctionCallArgument == true ifTrue:[
-	    ((tokenType == #BinaryOperator) and:[tokenName = ',']) ifTrue:[
-		^ receiver
-	    ].
-	].
+        "/ kludge alarm: in a function-call argList, #, is not a binarySelector
+        inFunctionCallArgument == true ifTrue:[
+            ((tokenType == #BinaryOperator) and:[tokenName = ',']) ifTrue:[
+                ^ receiver
+            ].
+        ].
 
-	pos1 := tokenPosition.
-	lno := tokenLineNr.
+        pos1 := tokenPosition.
+        lno := tokenLineNr.
 
-	"/ kludge alarm: bar, caret and minus are not scanned as binop
-	(tokenType == $|) ifTrue:[
-	    sel := '|'.
-	    sel := self selectorCheck:sel for:receiver position:tokenPosition to:tokenPosition.
-	    self nextToken.
-	] ifFalse:[
-	    (tokenType == $^) ifTrue:[
-		sel := '^'.
-		sel := self selectorCheck:sel for:receiver position:tokenPosition to:tokenPosition.
-		self nextToken.
-	    ] ifFalse:[
-		(tokenType == #BinaryOperator) ifTrue:[
-		    sel := tokenName.
-		    sel := self selectorCheck:sel for:receiver position:tokenPosition to:(tokenPosition + tokenName size - 1).
-		    self nextToken
-		] ifFalse:[
-		    sel := '-'.
-		    token := tokenValue := tokenValue negated.
-		    tokenPosition := tokenPosition + 1. "/ to skip the sign
-		]
-	    ].
-	].
+        "/ kludge alarm: bar, caret and minus are not scanned as binop
+        (tokenType == $|) ifTrue:[
+            sel := '|'.
+            sel := self selectorCheck:sel for:receiver position:tokenPosition to:tokenPosition.
+            self nextToken.
+        ] ifFalse:[
+            (tokenType == $^) ifTrue:[
+                sel := '^'.
+                sel := self selectorCheck:sel for:receiver position:tokenPosition to:tokenPosition.
+                self nextToken.
+            ] ifFalse:[
+                (tokenType == #BinaryOperator) ifTrue:[
+                    sel := tokenName.
+                    sel := self selectorCheck:sel for:receiver position:tokenPosition to:(tokenPosition + tokenName size - 1).
+                    self nextToken
+                ] ifFalse:[
+                    sel := '-'.
+                    token := tokenValue := tokenValue negated.
+                    tokenPosition := tokenPosition + 1. "/ to skip the sign
+                ]
+            ].
+        ].
 
-	pos2 := pos1 + sel size - 1.
-	self markSelector:sel from:pos1 to:pos2 receiverNode:receiver.
-	lastSelectorElement := nil.
+        pos2 := pos1 + sel size - 1.
+        self markSelector:sel from:pos1 to:pos2 receiverNode:receiver.
+        lastSelectorElement := nil.
 
-	arg := self unaryExpression.
-	(arg == #Error) ifTrue:[^ #Error].
+        arg := self unaryExpression.
+        (arg == #Error) ifTrue:[^ #Error].
 
-	expr := BinaryNode receiver:receiver selector:sel arg:arg fold:foldConstants.
-	expr isErrorNode ifTrue:[
-	    self parseError:(expr errorString) position:pos1 to:tokenPosition.
-	    errorFlag := false. "ok, user wants it - so he'll get it"
-	    expr := BinaryNode receiver:receiver selector:sel arg:arg fold:nil.
-	].
-	expr lineNumber:lno.
-	expr selectorPosition:pos1.
+        expr := BinaryNode receiver:receiver selector:sel arg:arg fold:foldConstants.
+        expr isErrorNode ifTrue:[
+            self parseError:(expr errorString) position:pos1 to:tokenPosition.
+            self clearErrorFlag. "ok, user wants it - so he'll get it"
+            expr := BinaryNode receiver:receiver selector:sel arg:arg fold:nil.
+        ].
+        expr lineNumber:lno.
+        expr selectorPosition:pos1.
 
-	self checkPlausibilityOf:expr from:pos1 to:pos2.
-	parseForCode ifFalse:[
-	    self rememberSelectorUsed:sel receiver:receiver
-	].
-	receiver := expr.   "/ for next message
+        self checkPlausibilityOf:expr from:pos1 to:pos2.
+        parseForCode ifFalse:[
+            self rememberSelectorUsed:sel receiver:receiver
+        ].
+        receiver := expr.   "/ for next message
     ].
     ^ receiver
 
@@ -403,7 +403,7 @@
     "parse a keyword-expression; return a node-tree, nil or #Error.
 
      keywordExpression ::= binaryexpression
-			   | { KEYWORD-PART binaryExpression }
+                           | { KEYWORD-PART binaryExpression }
     "
 
     |expr receiver sel arg args posR1 posR2 pos1 pos2 lno positions constVal|
@@ -422,40 +422,40 @@
     (arg == #Error) ifTrue:[^ #Error].
     args := Array with:arg.
     [tokenType == #Keyword] whileTrue:[
-	sel := sel , tokenName.
-	pos2 := tokenPosition + tokenName size - 1.
-	positions add:(tokenPosition to:pos2).
-	self nextToken.
-	arg := self binaryExpression.
-	(arg == #Error) ifTrue:[^ #Error].
-	args := args copyWith:arg.
+        sel := sel , tokenName.
+        pos2 := tokenPosition + tokenName size - 1.
+        positions add:(tokenPosition to:pos2).
+        self nextToken.
+        arg := self binaryExpression.
+        (arg == #Error) ifTrue:[^ #Error].
+        args := args copyWith:arg.
     ].
 
     positions do:[:p |
-	self markSelector:sel from:p start to:p stop receiverNode:receiver.
+        self markSelector:sel from:p start to:p stop receiverNode:receiver.
     ].
     lastSelectorElement := nil.
     sel := self selectorCheck:sel for:receiver positions:positions.
 
     ignoreWarnings ifFalse:[
-	(Class definitionSelectors includes:sel) ifTrue:[
-	    (receiver isVariable and:[receiver isUndeclared]) ifTrue:[
-		"this is not an error - the undefined class may be loaded after this code!!"
-		self warning:('as yet undefined superclass: ' , receiver name) position:pos1 to:pos2.
-	    ].
-	].
+        (Class definitionSelectors includes:sel) ifTrue:[
+            (receiver isVariable and:[receiver isUndeclared]) ifTrue:[
+                "this is not an error - the undefined class may be loaded after this code!!"
+                self warning:('as yet undefined superclass: ' , receiver name) position:pos1 to:pos2.
+            ].
+        ].
     ].
 
     expr := MessageNode receiver:receiver selector:sel args:args fold:foldConstants.
     expr isErrorNode ifTrue:[
-	self parseError:(expr errorString) position:pos1 to:pos2.
-	errorFlag := false. "ok, user wants it - so he'll get it"
-	expr := MessageNode receiver:receiver selector:sel args:args fold:nil.
+        self parseError:(expr errorString) position:pos1 to:pos2.
+        self clearErrorFlag. "ok, user wants it - so he'll get it"
+        expr := MessageNode receiver:receiver selector:sel args:args fold:nil.
     ].
     expr lineNumber:lno.
     self checkPlausibilityOf:expr from:pos1 to:pos2.
     parseForCode ifFalse:[
-	self rememberSelectorUsed:sel receiver:receiver
+        self rememberSelectorUsed:sel receiver:receiver
     ].
 
 "/        (contextToEvaluateIn isNil and:[selfValue isNil]) ifTrue:[    "/ do not check this for doits
@@ -469,72 +469,72 @@
 "/
 
     (sel = #ifTrue: or:[sel = #ifFalse: or:[sel = #ifTrue:ifFalse: or:[sel = #ifFalse:ifTrue:]]]) ifTrue:[
-	(expr receiver withConstantValueDo:[:val | constVal := val]) ifTrue:[
-	    |indexOfArgNotExecuted|
+        (expr receiver withConstantValueDo:[:val | constVal := val]) ifTrue:[
+            |indexOfArgNotExecuted|
 
-	    "/ receiver evaluates to a constant
-	    constVal == true ifTrue:[
-		(sel startsWith: #ifFalse:) ifTrue:[
-		    indexOfArgNotExecuted := 1.
-		] ifFalse:[
-		    indexOfArgNotExecuted := 2.
-		]
-	    ].
-	    constVal == false ifTrue:[
-		(sel startsWith: #ifTrue:) ifTrue:[
-		    indexOfArgNotExecuted := 1.
-		] ifFalse:[
-		    indexOfArgNotExecuted := 2.
-		]
-	    ].
-	    indexOfArgNotExecuted == 2 ifTrue:[
-		args size == 1 ifTrue:[ indexOfArgNotExecuted := nil]
-	    ].
+            "/ receiver evaluates to a constant
+            constVal == true ifTrue:[
+                (sel startsWith: #ifFalse:) ifTrue:[
+                    indexOfArgNotExecuted := 1.
+                ] ifFalse:[
+                    indexOfArgNotExecuted := 2.
+                ]
+            ].
+            constVal == false ifTrue:[
+                (sel startsWith: #ifTrue:) ifTrue:[
+                    indexOfArgNotExecuted := 1.
+                ] ifFalse:[
+                    indexOfArgNotExecuted := 2.
+                ]
+            ].
+            indexOfArgNotExecuted == 2 ifTrue:[
+                args size == 1 ifTrue:[ indexOfArgNotExecuted := nil]
+            ].
 
-	    indexOfArgNotExecuted notNil ifTrue:[
-		|argIsNotExecuted|
+            indexOfArgNotExecuted notNil ifTrue:[
+                |argIsNotExecuted|
 
-		"/ self warning:'receiver is constant; arg',indexOfArgNotExecuted printString,' is never executed' position:pos1 to:tokenPosition.
-		argIsNotExecuted := expr args at:indexOfArgNotExecuted.
-		argIsNotExecuted isBlockNode ifTrue:[
-		    self markCommentFrom:argIsNotExecuted startPosition to:argIsNotExecuted endPosition.
-		].
-	    ].
-	].
+                "/ self warning:'receiver is constant; arg',indexOfArgNotExecuted printString,' is never executed' position:pos1 to:tokenPosition.
+                argIsNotExecuted := expr args at:indexOfArgNotExecuted.
+                argIsNotExecuted isBlockNode ifTrue:[
+                    self markCommentFrom:argIsNotExecuted startPosition to:argIsNotExecuted endPosition.
+                ].
+            ].
+        ].
     ].
 
     (ignoreErrors or:[ignoreWarnings]) ifFalse:[
-	(sel = #and: or:[sel = #or:]) ifTrue:[
-	    expr arg1 isBlock ifFalse:[
-		(expr arg1 isVariable
-		and:[ (expr arg1 name asLowercase includesString:'block')]) ifFalse:[
-		    self warnCommonMistake:'(possible common mistake) missing block brackets ?'
-			      position:pos2+1 to:tokenPosition-1
-		]
-	    ].
-	    ^ expr.
-	].
+        (sel = #and: or:[sel = #or:]) ifTrue:[
+            expr arg1 isBlock ifFalse:[
+                (expr arg1 isVariable
+                and:[ (expr arg1 name asLowercase includesString:'block')]) ifFalse:[
+                    self warnCommonMistake:'(possible common mistake) missing block brackets ?'
+                              position:pos2+1 to:tokenPosition-1
+                ]
+            ].
+            ^ expr.
+        ].
 
-	(sel = #whileTrue: or:[sel = #whileFalse:]) ifTrue:[
-	    expr receiver isBlock ifFalse:[
-		(expr receiver isVariable
-		and:[ (expr receiver name asLowercase includesString:'block')]) ifFalse:[
-		    self warnCommonMistake:'(possible common mistake) missing block brackets ?'
-			      position:pos1 to:pos2
-		]
-	    ].
-	    ^ expr.
-	].
+        (sel = #whileTrue: or:[sel = #whileFalse:]) ifTrue:[
+            expr receiver isBlock ifFalse:[
+                (expr receiver isVariable
+                and:[ (expr receiver name asLowercase includesString:'block')]) ifFalse:[
+                    self warnCommonMistake:'(possible common mistake) missing block brackets ?'
+                              position:pos1 to:pos2
+                ]
+            ].
+            ^ expr.
+        ].
 
-	(sel = #ifTrue: or:[sel = #ifFalse:]) ifTrue:[
-	    expr receiver isMessage ifTrue:[
-		(expr receiver selector = #whileTrue or:[expr receiver selector = #whileFalse]) ifTrue:[
-		    self warnCommonMistake:'strange receiver expression'
-			      position:pos1 to:pos2
-		].
-	    ].
-	    ^ expr
-	].
+        (sel = #ifTrue: or:[sel = #ifFalse:]) ifTrue:[
+            expr receiver isMessage ifTrue:[
+                (expr receiver selector = #whileTrue or:[expr receiver selector = #whileFalse]) ifTrue:[
+                    self warnCommonMistake:'strange receiver expression'
+                              position:pos1 to:pos2
+                ].
+            ].
+            ^ expr
+        ].
     ].
 
     ^ expr.
@@ -553,55 +553,55 @@
     (receiver == #Error) ifTrue:[^ #Error].
 
     [ self isValidUnarySelector:tokenType ] whileTrue:[
-	pos := tokenPosition.
-	pos2 := pos + tokenName size - 1.
-	lNr := tokenLineNr.
-	sel := tokenName.
+        pos := tokenPosition.
+        pos2 := pos + tokenName size - 1.
+        lNr := tokenLineNr.
+        sel := tokenName.
 
-	self markSelector:sel from:pos to:pos2 receiverNode:receiver.
-	lastSelectorElement := nil.
+        self markSelector:sel from:pos to:pos2 receiverNode:receiver.
+        lastSelectorElement := nil.
 
-	self nextToken.
-	tokenType == $( ifTrue:[
-	    parserFlags allowSqueakExtensions == true ifTrue:[
-		"/ croquet/squeak extension - c/java-style arguments
-		arguments := self functionCallArgList.
-		"/ synthetic selector: foo[:[with:[with:[...]]]]
-		arguments notEmpty ifTrue:[
-		    sel := sel , ':'.
-		    arguments size - 1 timesRepeat:[ sel := sel , 'with:' ].
-		].
-		sel := self selectorCheck:sel for:receiver position:pos to:pos2.
-		expr := MessageNode receiver:receiver selector:sel args:arguments fold:foldConstants.
-		expr isErrorNode ifTrue:[
-		    self parseError:(expr errorString) position:pos to:pos2.
-		    errorFlag := false. "ok, user wants it - so he'll get it"
-		    expr := MessageNode receiver:receiver selector:sel args:arguments fold:nil.
-		].
-		expr lineNumber:lNr.
-		self checkPlausibilityOf:expr from:pos to:pos2.
-		parseForCode ifFalse:[
-		    self rememberSelectorUsed:sel receiver:receiver
-		].
-		^ expr.
-	    ].
-	].
+        self nextToken.
+        tokenType == $( ifTrue:[
+            parserFlags allowSqueakExtensions == true ifTrue:[
+                "/ croquet/squeak extension - c/java-style arguments
+                arguments := self functionCallArgList.
+                "/ synthetic selector: foo[:[with:[with:[...]]]]
+                arguments notEmpty ifTrue:[
+                    sel := sel , ':'.
+                    arguments size - 1 timesRepeat:[ sel := sel , 'with:' ].
+                ].
+                sel := self selectorCheck:sel for:receiver position:pos to:pos2.
+                expr := MessageNode receiver:receiver selector:sel args:arguments fold:foldConstants.
+                expr isErrorNode ifTrue:[
+                    self parseError:(expr errorString) position:pos to:pos2.
+                    self clearErrorFlag. "ok, user wants it - so he'll get it"
+                    expr := MessageNode receiver:receiver selector:sel args:arguments fold:nil.
+                ].
+                expr lineNumber:lNr.
+                self checkPlausibilityOf:expr from:pos to:pos2.
+                parseForCode ifFalse:[
+                    self rememberSelectorUsed:sel receiver:receiver
+                ].
+                ^ expr.
+            ].
+        ].
 
-	sel := self selectorCheck:sel for:receiver position:pos to:pos2.
-	expr := UnaryNode receiver:receiver selector:sel fold:foldConstants.
-	expr isErrorNode ifTrue:[
-	    self warning:(expr errorString , '.\\If you proceed, that error will happen at runtime.') withCRs position:pos to:pos2.
-	    errorFlag := false. "ok, user wants it - so he'll get it"
-	    expr := UnaryNode receiver:receiver selector:sel fold:nil.
-	].
-	expr lineNumber:lNr.
+        sel := self selectorCheck:sel for:receiver position:pos to:pos2.
+        expr := UnaryNode receiver:receiver selector:sel fold:foldConstants.
+        expr isErrorNode ifTrue:[
+            self warning:(expr errorString , '.\\If you proceed, that error will happen at runtime.') withCRs position:pos to:pos2.
+            self clearErrorFlag. "ok, user wants it - so he'll get it"
+            expr := UnaryNode receiver:receiver selector:sel fold:nil.
+        ].
+        expr lineNumber:lNr.
 
-	self checkPlausibilityOf:expr from:pos to:pos2.
-	parseForCode ifFalse:[
-	    self rememberSelectorUsed:sel receiver:receiver
-	].
+        self checkPlausibilityOf:expr from:pos to:pos2.
+        parseForCode ifFalse:[
+            self rememberSelectorUsed:sel receiver:receiver
+        ].
 
-	receiver := expr.   "/ for next message
+        receiver := expr.   "/ for next message
     ].
     ^ receiver
 
@@ -686,7 +686,7 @@
         expr := BinaryNode receiver:receiver selector:sel arg:arg fold:foldConstants.
         expr isErrorNode ifTrue:[
             self parseError:(expr errorString) position:pos1 to:tokenPosition.
-            errorFlag := false. "ok, user wants it - so he'll get it"
+            self clearErrorFlag. "ok, user wants it - so he'll get it"
             expr := BinaryNode receiver:receiver selector:sel arg:arg fold:nil.
         ].
         expr lineNumber:lno.
@@ -771,7 +771,7 @@
     expr := MessageNode receiver:receiver selector:sel args:args fold:foldConstants.
     expr isErrorNode ifTrue:[
         self parseError:(expr errorString) position:pos1 to:pos2.
-        errorFlag := false. "ok, user wants it - so he'll get it"
+        self clearErrorFlag. "ok, user wants it - so he'll get it"
         expr := MessageNode receiver:receiver selector:sel args:args fold:nil.
     ].
     expr lineNumber:lno.
@@ -872,57 +872,57 @@
     (receiver == #Error) ifTrue:[^ #Error].
 
     [ self isValidUnarySelector:tokenType ] whileTrue:[
-	pos := tokenPosition.
-	pos2 := pos + tokenName size - 1.
-	lNr := tokenLineNr.
-	sel := tokenName.
+        pos := tokenPosition.
+        pos2 := pos + tokenName size - 1.
+        lNr := tokenLineNr.
+        sel := tokenName.
 
-	lastSelectorElement := nil.
-	self markSelector:sel from:pos to:pos2 receiverNode:receiver.
+        lastSelectorElement := nil.
+        self markSelector:sel from:pos to:pos2 receiverNode:receiver.
 
-	self nextToken.
-	tokenType == $( ifTrue:[
-	    parserFlags allowSqueakExtensions == true ifTrue:[
-		"/ croquet/squeak extension - c/java-style arguments
-		arguments := self functionCallArgList.
-		"/ synthetic selector: foo[:[with:[with:[...]]]]
-		arguments notEmpty ifTrue:[
-		    sel := sel , ':'.
-		    arguments size - 1 timesRepeat:[ sel := sel , 'with:' ].
-		].
-		sel := self selectorCheck:sel for:receiver position:pos to:pos2.
-		expr := MessageNode receiver:receiver selector:sel args:arguments fold:foldConstants.
-		expr isErrorNode ifTrue:[
-		    self parseError:(expr errorString) position:pos to:pos2.
-		    errorFlag := false. "ok, user wants it - so he'll get it"
-		    expr := MessageNode receiver:receiver selector:sel args:arguments fold:nil.
-		].
-		lastSelectorElement node parent: expr.
-		expr lineNumber:lNr.
-		self checkPlausibilityOf:expr from:pos to:pos2.
-		parseForCode ifFalse:[
-		    self rememberSelectorUsed:sel receiver:receiver
-		].
-		^ expr.
-	    ].
-	].
+        self nextToken.
+        tokenType == $( ifTrue:[
+            parserFlags allowSqueakExtensions == true ifTrue:[
+                "/ croquet/squeak extension - c/java-style arguments
+                arguments := self functionCallArgList.
+                "/ synthetic selector: foo[:[with:[with:[...]]]]
+                arguments notEmpty ifTrue:[
+                    sel := sel , ':'.
+                    arguments size - 1 timesRepeat:[ sel := sel , 'with:' ].
+                ].
+                sel := self selectorCheck:sel for:receiver position:pos to:pos2.
+                expr := MessageNode receiver:receiver selector:sel args:arguments fold:foldConstants.
+                expr isErrorNode ifTrue:[
+                    self parseError:(expr errorString) position:pos to:pos2.
+                    self clearErrorFlag. "ok, user wants it - so he'll get it"
+                    expr := MessageNode receiver:receiver selector:sel args:arguments fold:nil.
+                ].
+                lastSelectorElement node parent: expr.
+                expr lineNumber:lNr.
+                self checkPlausibilityOf:expr from:pos to:pos2.
+                parseForCode ifFalse:[
+                    self rememberSelectorUsed:sel receiver:receiver
+                ].
+                ^ expr.
+            ].
+        ].
 
-	sel := self selectorCheck:sel for:receiver position:pos to:pos2.
-	expr := UnaryNode receiver:receiver selector:sel fold:foldConstants.
-	expr isErrorNode ifTrue:[
-	    self warning:(expr errorString , '.\\If you proceed, that error will happen at runtime.') withCRs position:pos to:pos2.
-	    errorFlag := false. "ok, user wants it - so he'll get it"
-	    expr := UnaryNode receiver:receiver selector:sel fold:nil.
-	].
-	expr lineNumber:lNr.
-	lastSelectorElement node parent: expr.
+        sel := self selectorCheck:sel for:receiver position:pos to:pos2.
+        expr := UnaryNode receiver:receiver selector:sel fold:foldConstants.
+        expr isErrorNode ifTrue:[
+            self warning:(expr errorString , '.\\If you proceed, that error will happen at runtime.') withCRs position:pos to:pos2.
+            self clearErrorFlag. "ok, user wants it - so he'll get it"
+            expr := UnaryNode receiver:receiver selector:sel fold:nil.
+        ].
+        expr lineNumber:lNr.
+        lastSelectorElement node parent: expr.
 
-	self checkPlausibilityOf:expr from:pos to:pos2.
-	parseForCode ifFalse:[
-	    self rememberSelectorUsed:sel receiver:receiver
-	].
+        self checkPlausibilityOf:expr from:pos to:pos2.
+        parseForCode ifFalse:[
+            self rememberSelectorUsed:sel receiver:receiver
+        ].
 
-	receiver := expr.   "/ for next message
+        receiver := expr.   "/ for next message
     ].
     lastSelectorElement := savedLastSelectorElement.
     ^ receiver
@@ -1065,14 +1065,14 @@
 !SyntaxHighlighter2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/SyntaxHighlighter2.st,v 1.21 2014-04-30 18:21:22 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SyntaxHighlighter2.st,v 1.22 2014-05-21 22:25:58 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/SyntaxHighlighter2.st,v 1.21 2014-04-30 18:21:22 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SyntaxHighlighter2.st,v 1.22 2014-05-21 22:25:58 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: SyntaxHighlighter2.st,v 1.21 2014-04-30 18:21:22 cg Exp $'
+    ^ '$Id: SyntaxHighlighter2.st,v 1.22 2014-05-21 22:25:58 cg Exp $'
 ! !