支持html 文件语法高亮

master
zhangmeng 2023-06-07 09:29:36 +08:00
parent 3cc20a868a
commit 0aeee96817
4 changed files with 27 additions and 14 deletions

View File

@ -21,6 +21,8 @@ import javafx.scene.Node;
import javafx.scene.control.*;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyCodeCombination;
import javafx.scene.input.MouseButton;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.HBox;
@ -57,6 +59,14 @@ import java.util.regex.Pattern;
@Slf4j
public class FileEditController {
@FXML
public MenuItem save;
@FXML
public MenuItem open_file;
@FXML
public MenuItem open_dir;
public enum Type {
@ -84,6 +94,12 @@ public class FileEditController {
@FXML
public void initialize() {
// 设置快捷键
save.setAccelerator(new KeyCodeCombination(KeyCode.S, KeyCodeCombination.CONTROL_DOWN));
open_file.setAccelerator(new KeyCodeCombination(KeyCode.F, KeyCodeCombination.CONTROL_DOWN));
open_dir.setAccelerator(new KeyCodeCombination(KeyCode.D, KeyCodeCombination.CONTROL_DOWN));
//读取本地加载记录
Properties s = config_path(false);
recursiveFileList = new RecursiveFileList(null);

View File

@ -10,18 +10,15 @@ import java.util.regex.Pattern;
public class ProcessHtml {
public static final String[] KEYWORDS = new String[] {
"<!DOCTYPE html>", "<html>", "<head>", "</head>", "<body>",
"</body>", "</html>", "<p>", "<br>",
"<title>", "</title>", "style", "<img",
"<h1>", "</h1>", "<h3>", ">",
"<h2>", "</h2>", "</h3>", "<hr>",
"<a", "</a>", "<table","<div","<div>","</div>","<span","<span>","</span>",
"<ul>", "</ul>", "<dl>", "</dl>", "<dd>","</dl>"
"DOCTYPE","doctype", "html", "head", "body",
"h1", "h2","h3","h4","h5","h6", "p", "br","meta",
"title","img", "hr", "a", "table","div","span",
"ul", "dl","dd","i","script","li","link"
};
public static final String[] KEYWORDS2 = new String[] {
"href", "name", "style", "finally", "id", "src",
"return"
"href", "name", "style", "rel", "id", "src","media","content","http-equiv",
"return","class","target","charset","lay-filter","window","global","document"
};
public static final String KEYWORD_PATTERN = "\\b(" + String.join("|", KEYWORDS) + ")\\b";
@ -38,7 +35,6 @@ public class ProcessHtml {
public static final Pattern PATTERN = Pattern.compile(
"(?<KEYWORD>" + KEYWORD_PATTERN + ")"
+ "|(?<KEYWORD2>" + KEYWORD_PATTERN2 + ")"
+ "|(?<PAREN>" + PAREN_PATTERN + ")"
+ "|(?<BRACE>" + BRACE_PATTERN + ")"
+ "|(?<BRACKET>" + BRACKET_PATTERN + ")"
@ -48,6 +44,7 @@ public class ProcessHtml {
+ "|(?<ANNOTATION>" + ANNOTATION_PATTERN + ")"
+ "|(?<PARAMS>" + PARAMS_PATTERN + ")"
+ "|(?<METHOD>" + METHOD_PATTERN + ")"
+ "|(?<KEYWORD2>" + KEYWORD_PATTERN2 + ")"
);

View File

@ -156,7 +156,7 @@
}
.code-area .method2 {
-fx-fill: #b76bd5;
-fx-fill: #699f45;
-fx-text-fill: red;
}

View File

@ -14,9 +14,9 @@
<menus>
<Menu mnemonicParsing="false" text="文件">
<items>
<MenuItem mnemonicParsing="false" text="打开文件" onAction="#open_file_menu" />
<MenuItem mnemonicParsing="false" text="打开文件夹" onAction="#open_file_dir_menu" />
<MenuItem mnemonicParsing="false" text="保存" onAction="#save_file_menu"/>
<MenuItem fx:id="open_file" mnemonicParsing="false" text="打开文件" onAction="#open_file_menu" />
<MenuItem fx:id="open_dir" mnemonicParsing="false" text="打开文件夹" onAction="#open_file_dir_menu" />
<MenuItem fx:id="save" mnemonicParsing="false" text="保存" onAction="#save_file_menu"/>
</items>
</Menu>
</menus>