11package io .github .rosemoe .sora .langs .java ;
22
3+ import Ninja .coder .Ghostemane .code .marco .ColorCompat ;
34import android .graphics .Color ;
45import android .util .Log ;
6+ import io .github .rosemoe .sora .data .Span ;
57import io .github .rosemoe .sora .text .TextStyle ;
8+ import io .github .rosemoe .sora .widget .ListCss3Color ;
69import java .util .Stack ;
710import io .github .rosemoe .sora .data .BlockLine ;
811import org .antlr .v4 .runtime .CharStreams ;
@@ -45,6 +48,7 @@ public void analyze(
4548 }
4649 line = token .getLine () - 1 ;
4750 type = token .getType ();
51+ String text1 = token .getText ();
4852 column = token .getCharPositionInLine ();
4953 if (type == JavaLexer .EOF ) {
5054 lastLine = line ;
@@ -102,7 +106,7 @@ public void analyze(
102106 result .addIfNeeded (
103107 line ,
104108 column ,
105- TextStyle .makeStyle (EditorColorScheme .KEYWORD , 0 , true , false , false ));
109+ TextStyle .makeStyle (EditorColorScheme .KEYWORD , 0 , true , false , false , true ));
106110 break ;
107111 case JavaLexer .DECIMAL_LITERAL :
108112 case JavaLexer .HEX_LITERAL :
@@ -116,8 +120,11 @@ public void analyze(
116120 result .addIfNeeded (line , column , EditorColorScheme .LITERAL );
117121 break ;
118122 case JavaLexer .STRING_LITERAL :
119- result .addIfNeeded (line , column , forString ());
120- break ;
123+ {
124+ result .addIfNeeded (line , column , forString ());
125+ break ;
126+ }
127+
121128 case JavaLexer .LPAREN :
122129 case JavaLexer .RPAREN :
123130 case JavaLexer .LBRACK :
@@ -185,6 +192,7 @@ public void analyze(
185192 case JavaLexer .IDENTIFIER :
186193 {
187194 int colorid = EditorColorScheme .TEXT_NORMAL ;
195+ boolean isBold , isItalic ,isUnderLineMode = false ;
188196 if (previous == JavaLexer .AT ) {
189197 colorid = EditorColorScheme .Ninja ;
190198 }
@@ -213,16 +221,41 @@ public void analyze(
213221 if (token .getText ().matches (regex )) {
214222 colorid = EditorColorScheme .KEYWORD ;
215223 }
216- if (previous == JavaLexer .INT ) {
217- colorid = EditorColorScheme .LITERAL ;
218- }
219- if (previous == JavaLexer .CASE || previous == JavaLexer .FINAL ) {
220- colorid = EditorColorScheme .ATTRIBUTE_NAME ;
224+ if (previous == JavaLexer .INT ) {
225+ colorid = EditorColorScheme .LITERAL ;
221226 }
227+ if (previous == JavaLexer .CASE || previous == JavaLexer .FINAL ) {
228+ colorid = EditorColorScheme .ATTRIBUTE_NAME ;
229+ }
230+
231+ // if (text1.equals("red")) {
232+ // try {
233+ // result.addIfNeeded(line, column, EditorColorScheme.ATTRIBUTE_VALUE);
234+ // int wordLength = token.getText().length(); // طول کلمهی به رنگ قرمز
235+ // int endOfRed = column + wordLength;
236+ // //test
237+ // Span span = Span.obtain(column, EditorColorScheme.ATTRIBUTE_VALUE);
238+ // span.setUnderlineColor(ColorCompat.RED);
239+ // result.add(line, span);
240+ //
241+ // Span middle = Span.obtain(endOfRed , EditorColorScheme.LITERAL);
242+ // middle.setUnderlineColor(Color.TRANSPARENT);
243+ // result.add(line, middle);
244+ //
245+ // Span end =
246+ // Span.obtain(endOfRed, TextStyle.makeStyle(EditorColorScheme.TEXT_NORMAL));
247+ // end.setUnderlineColor(Color.TRANSPARENT);
248+ // result.add(line, end);
249+ //
250+ // //break;
251+ // } catch (Exception ignore) {
252+ // ignore.printStackTrace();
253+ // }
254+ // }
255+ ListCss3Color .initColor (token ,line ,column ,result );
222256 result .addIfNeeded (line , column , colorid );
223257 break ;
224258 }
225-
226259 case JavaLexer .LBRACE :
227260 result .addIfNeeded (line , column , EditorColorScheme .OPERATOR );
228261 if (stack .isEmpty ()) {
@@ -251,6 +284,7 @@ public void analyze(
251284
252285 default :
253286 result .addIfNeeded (line , column , EditorColorScheme .TEXT_NORMAL );
287+
254288 break ;
255289 }
256290
@@ -275,4 +309,5 @@ public long withoutCompletion(int id) {
275309 public long forString () {
276310 return TextStyle .makeStyle (EditorColorScheme .LITERAL , 0 , true , true , false );
277311 }
312+
278313}
0 commit comments