author | Claus Gittinger <cg@exept.de> |
Wed, 12 Dec 2018 18:30:10 +0100 | |
branch | cvs_MAIN |
changeset 3864 | 9fe3d7e3ed9e |
parent 3755 | d4ed75b81658 |
permissions | -rw-r--r-- |
3126
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
"{ Package: 'stx:libjava/tools' }" |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
|
3755 | 3 |
"{ NameSpace: Smalltalk }" |
4 |
||
3126
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
JavaAbstractLexicalHighlighter subclass:#JavaLexicalHighlighter |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
instanceVariableNames:'' |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
classVariableNames:'' |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
poolDictionaries:'' |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
category:'Languages-Java-Tools-Source' |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
! |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
11 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
12 |
JavaScanner subclass:#HighlightingScanner |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
13 |
instanceVariableNames:'buffer bufferFirst bufferLast highlighter' |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
classVariableNames:'' |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
poolDictionaries:'' |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
16 |
privateIn:JavaLexicalHighlighter |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
17 |
! |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
18 |
|
3755 | 19 |
|
3226
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
20 |
!JavaLexicalHighlighter class methodsFor:'formatting'! |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
21 |
|
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
22 |
formatClassDefinition: code line: line number: lineNr in: cls |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
23 |
|
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
24 |
^self new formatClassDefinition: code line: line number: lineNr in: cls |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
25 |
|
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
26 |
"Created: / 12-08-2014 / 13:35:46 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
27 |
! ! |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
28 |
|
3126
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
!JavaLexicalHighlighter methodsFor:'accessing-classes'! |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
scannerClass |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
"Return a highlighting scanner class to use" |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
^ HighlightingScanner |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
35 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
36 |
"Created: / 25-06-2014 / 11:57:59 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
37 |
! ! |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
38 |
|
3226
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
39 |
!JavaLexicalHighlighter methodsFor:'formatting'! |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
40 |
|
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
41 |
formatClassDefinition: code line: line number: lineNr in: cls |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
42 |
| scanner | |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
43 |
|
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
44 |
line isEmptyOrNil ifTrue:[ ^ nil ]. |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
45 |
|
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
46 |
sourceText := line asText. |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
47 |
preferences := UserPreferences current. |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
48 |
preferences isNil ifTrue:[ |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
49 |
preferences := UserPreferences current. |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
50 |
]. |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
51 |
scanner := self scannerClass for: line asString. |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
52 |
scanner highlighter: self. |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
53 |
[ |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
54 |
[ scanner nextToken ~~ #EOF ] whileTrue. |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
55 |
] on: Error do:[ |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
56 |
|
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
57 |
]. |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
58 |
^ sourceText |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
59 |
|
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
60 |
"Created: / 12-08-2014 / 13:36:00 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
61 |
! ! |
36c8ea432a7c
Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3126
diff
changeset
|
62 |
|
3126
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
63 |
!JavaLexicalHighlighter::HighlightingScanner methodsFor:'accessing'! |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
64 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
65 |
highlighter |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
66 |
^ highlighter |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
67 |
! |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
68 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
69 |
highlighter:aJavaSyntaxHighlighter |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
70 |
highlighter := aJavaSyntaxHighlighter. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
71 |
! ! |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
72 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
73 |
!JavaLexicalHighlighter::HighlightingScanner methodsFor:'error handling'! |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
74 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
75 |
syntaxError:aMessage position:position to:endPos |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
76 |
"a syntax error happened" |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
77 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
78 |
endPos notNil ifTrue:[ |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
79 |
highlighter markBadIdentifierFrom:position to: endPos. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
80 |
] |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
81 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
82 |
"Created: / 13-04-2012 / 18:31:42 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
83 |
! ! |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
84 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
85 |
!JavaLexicalHighlighter::HighlightingScanner methodsFor:'initialization'! |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
87 |
initialize |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
88 |
"initialize the scanner" |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
89 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
90 |
super initialize. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
91 |
saveComments := true. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
92 |
buffer := Array new: 3. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
93 |
bufferFirst := 1. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
94 |
bufferLast := 0. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
95 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
96 |
"Created: / 17-03-2012 / 00:02:42 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
97 |
"Modified: / 01-09-2013 / 18:51:17 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
98 |
! ! |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
99 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
100 |
!JavaLexicalHighlighter::HighlightingScanner methodsFor:'private'! |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
101 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
102 |
checkForKeyword:string |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
103 |
| isKW | |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
104 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
105 |
isKW := super checkForKeyword:string. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
106 |
isKW ifTrue:[ |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
107 |
highlighter markKeyword:string from:tokenStartPosition + 1 to:tokenStartPosition + string size |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
108 |
]. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
109 |
^isKW |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
110 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
111 |
"Created: / 17-03-2012 / 00:15:02 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
112 |
! ! |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
113 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
114 |
!JavaLexicalHighlighter::HighlightingScanner methodsFor:'reading next token'! |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
115 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
116 |
nextToken |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
117 |
| t | |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
118 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
119 |
t := super nextToken. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
120 |
t == #String ifTrue:[ |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
121 |
highlighter markStringFrom:tokenStartPosition + 1 to: tokenEndPosition + 1. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
122 |
] ifFalse:[ |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
123 |
t == #Integer ifTrue:[ |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
124 |
highlighter markConstantFrom:tokenStartPosition + 1 to: tokenEndPosition + 1. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
125 |
]]. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
126 |
"/ bufferLast := (bufferLast \\ buffer size) + 1. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
127 |
"/ bufferLast == bufferFirst ifTrue:[ |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
128 |
"/ bufferFirst := (bufferFirst \\ buffer size) + 1. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
129 |
"/ ]. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
130 |
"/ buffer at: bufferLast put: self token. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
131 |
"/ "/ Now, do a quick check for some common token sequences...not a full parsing, |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
132 |
"/ "/ but helps a bit |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
133 |
"/ ((bufferLast - bufferFirst) \\ 10) > 2 ifTrue:[ |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
134 |
"/ "/ Quick check for method call sequence... |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
135 |
"/ t == $( ifTrue:[ |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
136 |
"/ |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
137 |
"/ ((buffer at:(bufferLast - 1) \\ buffer size) type == #Identifier |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
138 |
"/ and:[(buffer at:(bufferLast - 2) \\ buffer size) type == $. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
139 |
"/ and:[(buffer at:(bufferLast - 1) \\ buffer size) value first isLowercase]]) |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
140 |
"/ ifTrue:[ |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
141 |
"/ | nameToken | |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
142 |
"/ |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
143 |
"/ nameToken := (buffer at:(bufferLast - 1) \\ buffer size). |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
144 |
"/ highlighter markSelector: nameToken value from: nameToken startPosition to: nameToken endPosition. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
145 |
"/ ^ t |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
146 |
"/ ]. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
147 |
"/ ]. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
148 |
"/ "/ Add more patterns here |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
149 |
"/ ]. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
150 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
151 |
^ t |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
152 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
153 |
"Created: / 14-05-1998 / 15:48:04 / cg" |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
154 |
"Modified: / 16-05-1998 / 19:12:29 / cg" |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
155 |
"Created: / 17-03-2012 / 19:15:09 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
156 |
"Modified: / 03-10-2013 / 20:25:53 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
157 |
! |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
158 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
159 |
skipComment |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
160 |
super skipComment. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
161 |
highlighter markCommentFrom:((tokenStartPosition + 1) max: 1) to: source position. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
162 |
^nil |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
163 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
164 |
"Created: / 17-03-2012 / 00:04:49 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
165 |
! |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
166 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
167 |
skipEOLComment |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
168 |
super skipEOLComment. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
169 |
highlighter markCommentFrom:((tokenStartPosition - 1) max: 1) to: source position. |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
170 |
^nil |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
171 |
|
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
172 |
"Created: / 17-03-2012 / 00:05:00 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
173 |
! ! |
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
174 |
|
3755 | 175 |
!JavaLexicalHighlighter class methodsFor:'documentation'! |
176 |
||
177 |
version_CVS |
|
178 |
^ '$Header$' |
|
179 |
! ! |
|
180 |