2023年6月12日17:12:55
parent
976f6bcc74
commit
afa4cbbf46
|
|
@ -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;
|
||||
|
|
@ -112,7 +113,7 @@ public class FileEditController {
|
|||
Stage stage = new Stage();
|
||||
FileChooser dc = new FileChooser();
|
||||
dc.setTitle("文件选择");
|
||||
dc.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("文件类型", "*.java", "*.go", "*.txt", "*.json","*.sql"));
|
||||
dc.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("文件类型", "*.java", "*.go", "*.txt", "*.json", "*.sql"));
|
||||
File file = dc.showOpenDialog(stage);
|
||||
if (file != null) {
|
||||
refresh(file, true);
|
||||
|
|
@ -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("该文件不支持!");
|
||||
|
|
@ -429,7 +444,7 @@ public class FileEditController {
|
|||
null; /* never happens */
|
||||
}
|
||||
|
||||
if (type.equals(Type.SQL)){
|
||||
if (type.equals(Type.SQL)) {
|
||||
styleClass = matcher.group("PAREN") != null ? "paren" :
|
||||
matcher.group("BRACE") != null ? "brace" :
|
||||
matcher.group("BRACKET") != null ? "bracket" :
|
||||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
|
|
|||
Loading…
Reference in New Issue