2023年6月12日17:12:55

master
zhangmeng 2023-06-12 17:13:02 +08:00
parent 976f6bcc74
commit afa4cbbf46
2 changed files with 37 additions and 22 deletions

View File

@ -8,6 +8,7 @@ import com.zhangmeng.tools.languages.ProcessHtml;
import com.zhangmeng.tools.languages.ProcessJava;
import com.zhangmeng.tools.languages.ProcessSql;
import com.zhangmeng.tools.utils.AlertUtils;
import javafx.application.Platform;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
@ -269,10 +270,14 @@ public class FileEditController {
ex.printStackTrace();
}
}
if (!(FileUtils.sizeOf(file) > 50 * 1024 * 1024 )){
if (!(FileUtils.sizeOf(file) > 10 * 1024 * 1024)) {
codeArea.textProperty().addListener((obs, oldText, newText) -> {
new Thread(() -> {
Platform.runLater(() -> {
codeArea.setStyleSpans(0, computeHighlighting(newText, type));
});
}).start();
});
}
codeArea.replaceText(0, 0, file_content);
Tab tab = new Tab(file.getName());
@ -355,14 +360,24 @@ public class FileEditController {
flag = false;
}
if (flag) {
Type type = Type.JAVA;
Type type = null;
if (extension.equals("java")) {
type = Type.JAVA;
}
if (extension.equals("go")) {
type = Type.GO;
}
if (extension.equals("html")) {
type = Type.HTML;
}
if (extension.equals("sql")) {
type = Type.SQL;
}
if (type == null) {
type = Type.JAVA;
}
open_file(file, type);
} else {
AlertUtils.alert_warning("该文件不支持!");
@ -441,7 +456,7 @@ public class FileEditController {
matcher.group("METHOD") != null ? "method" :
matcher.group("HTMLKEYWORDS") != null ? "html-keyword" : //html 标签
matcher.group("HTMLKEYWORDS2") != null ? "html-keyword2" : //html 属性
null;
null; /* never happens */
}
assert styleClass != null;
spansBuilder.add(Collections.emptyList(), matcher.start() - lastKwEnd);

View File

@ -12,13 +12,13 @@ public class ProcessSql {
public static final String[] HTMLKEYWORDS = new String[] {
"CREATE","create", "drop", "DROP", "INSERT","insert",
"SELECT", "select","UPDATE","update","DELETE","delete", "FORMAT", "SUM","DATE",
"title","img", "hr", "a", "table","div","span",
"ul", "dl","dd","i","script","li","link"
"CONSTRAINT","FOREIGN","REFERENCES","DEFAULT","NULL"
};
public static final String[] HTMLKEYWORDS2 = new String[] {
"use", "IF", "if", "PRIMARY KEY", "FROM", "from","order","group","INNER","JOIN","ON","values","ALTER","SHOW",
"by","INTO","VALUES","WHERE","where","SET","set","LIKE","like","UNION","ORDER","BY","GROUP","EXISTS","TABLE","table"
"use", "IF", "if", "PRIMARY","KEY","UNIQUE", "FROM", "from","order","group","INNER","JOIN","ON","values","ALTER","SHOW","into",
"by","INTO","VALUES","WHERE","where","SET","set","LIKE","like","UNION","ORDER","BY","GROUP","EXISTS","TABLE","table",
"COUNT", "SUM", "AVG", "MIN", "MAX"
};
public static final String HTMLKEYWORDS_PATTERN = "\\b(" + String.join("|", HTMLKEYWORDS) + ")\\b";