Skip to content

Commit 2bbe768

Browse files
committed
updated API of code areas.
1 parent ef90e66 commit 2bbe768

2 files changed

Lines changed: 49 additions & 30 deletions

File tree

src/main/java/com/ss/editor/ui/control/code/BaseCodeArea.java

Lines changed: 47 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -20,44 +20,37 @@
2020
*/
2121
public class BaseCodeArea extends CodeArea {
2222

23-
@NotNull
24-
protected static final String CLASS_KEYWORD = "KEYWORD";
23+
protected static final String CSS_KEYWORD = "keyword";
24+
protected static final String CSS_VALUE_TYPE = "value-type";
25+
protected static final String CSS_VALUE_VALUE = "value-value";
26+
protected static final String CSS_PAREN = "paren";
27+
protected static final String CSS_BRACE = "brace";
28+
protected static final String CSS_BRACKET = "bracket";
29+
protected static final String CSS_SEMICOLON = "semicolon";
30+
protected static final String CSS_STRING = "string";
31+
protected static final String CSS_COMMENT = "comment";
2532

26-
@NotNull
33+
protected static final String CLASS_KEYWORD = "KEYWORD";
2734
protected static final String CLASS_VALUE_TYPE = "VALUETYPE";
28-
29-
@NotNull
3035
protected static final String CLASS_VALUE_VALUE = "VALUEVALUE";
31-
32-
@NotNull
3336
protected static final String CLASS_PAREN = "PAREN";
34-
35-
@NotNull
3637
protected static final String CLASS_BRACE = "BRACE";
37-
38-
@NotNull
3938
protected static final String CLASS_BRACKET = "BRACKET";
40-
41-
@NotNull
4239
protected static final String CLASS_SEMICOLON = "SEMICOLON";
43-
44-
@NotNull
4540
protected static final String CLASS_STRING = "STRING";
46-
47-
@NotNull
4841
protected static final String CLASS_COMMENT = "COMMENT";
4942

5043
@NotNull
5144
protected static final String[][] AVAILABLE_CLASSES = {
52-
{CLASS_KEYWORD, "keyword"},
53-
{CLASS_VALUE_TYPE, "value-type"},
54-
{CLASS_VALUE_VALUE, "value-value"},
55-
{CLASS_PAREN, "paren"},
56-
{CLASS_BRACE, "brace"},
57-
{CLASS_BRACKET, "bracket"},
58-
{CLASS_SEMICOLON, "semicolon"},
59-
{CLASS_STRING, "string"},
60-
{CLASS_COMMENT, "comment"},
45+
{CLASS_KEYWORD, CSS_KEYWORD},
46+
{CLASS_VALUE_TYPE, CSS_VALUE_TYPE},
47+
{CLASS_VALUE_VALUE, CSS_VALUE_VALUE},
48+
{CLASS_PAREN, CSS_PAREN},
49+
{CLASS_BRACE, CSS_BRACE},
50+
{CLASS_BRACKET, CSS_BRACKET},
51+
{CLASS_SEMICOLON, CSS_SEMICOLON},
52+
{CLASS_STRING, CSS_STRING},
53+
{CLASS_COMMENT, CSS_COMMENT},
6154
};
6255

6356
protected static final String PAREN_PATTERN = "\\(|\\)";
@@ -67,11 +60,38 @@ public class BaseCodeArea extends CodeArea {
6760
protected static final String STRING_PATTERN = "\"([^\"\\\\]|\\\\.)*\"";
6861
protected static final String COMMENT_PATTERN = "//[^\n]*" + "|" + "/\\*(.|\\R)*?\\*/";
6962

63+
/**
64+
* The list of available classes.
65+
*/
66+
@NotNull
67+
protected final String[][] availableClasses;
68+
7069
public BaseCodeArea() {
70+
this.availableClasses = createAvailableClasses();
7171
richChanges().filter(ch -> !ch.getInserted().equals(ch.getRemoved()))
7272
.subscribe(change -> setStyleSpans(0, calculateStyleSpans(getText())));
7373
}
7474

75+
/**
76+
* Create a list of available classes.
77+
*
78+
* @return the list of available classes.
79+
*/
80+
@FXThread
81+
protected @NotNull String[][] createAvailableClasses() {
82+
return AVAILABLE_CLASSES;
83+
}
84+
85+
/**
86+
* Get the list of available classes.
87+
*
88+
* @return the list of available classes.
89+
*/
90+
@FXThread
91+
protected @NotNull String[][] getAvailableClasses() {
92+
return AVAILABLE_CLASSES;
93+
}
94+
7595
/**
7696
* Calculate highlighting for the code.
7797
*
@@ -92,7 +112,7 @@ public BaseCodeArea() {
92112

93113
String styleClass = null;
94114

95-
for (final String[] availableClass : AVAILABLE_CLASSES) {
115+
for (final String[] availableClass : getAvailableClasses()) {
96116

97117
try {
98118
styleClass = matcher.group(availableClass[0]) != null ? availableClass[1] : null;

src/main/java/com/ss/editor/ui/control/code/GLSLCodeArea.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import com.ss.editor.util.GLSLType;
55
import org.fxmisc.richtext.model.StyleSpans;
66
import org.jetbrains.annotations.NotNull;
7-
import org.jetbrains.annotations.Nullable;
87

98
import java.util.ArrayList;
109
import java.util.Arrays;
@@ -66,7 +65,7 @@ public GLSLCodeArea() {
6665
* @return available fields.
6766
*/
6867
@FXThread
69-
private @Nullable List<String> getFields() {
68+
private @NotNull List<String> getFields() {
7069
return fields;
7170
}
7271

@@ -82,7 +81,7 @@ public GLSLCodeArea() {
8281
"|(?<" + CLASS_VALUE_TYPE + ">" + VALUE_TYPE_PATTERN + ")";
8382

8483
final List<String> fields = getFields();
85-
if (fields != null && !fields.isEmpty()) {
84+
if (!fields.isEmpty()) {
8685
result += "|(?<" + CLASS_VALUE_VALUE + ">" + "\\b(" + String.join("|", fields) + ")\\b";
8786
}
8887

0 commit comments

Comments
 (0)