支持html 文件语法高亮
parent
3cc20a868a
commit
0aeee96817
|
|
@ -21,6 +21,8 @@ import javafx.scene.Node;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.*;
|
||||||
import javafx.scene.image.Image;
|
import javafx.scene.image.Image;
|
||||||
import javafx.scene.image.ImageView;
|
import javafx.scene.image.ImageView;
|
||||||
|
import javafx.scene.input.KeyCode;
|
||||||
|
import javafx.scene.input.KeyCodeCombination;
|
||||||
import javafx.scene.input.MouseButton;
|
import javafx.scene.input.MouseButton;
|
||||||
import javafx.scene.input.MouseEvent;
|
import javafx.scene.input.MouseEvent;
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
|
|
@ -57,6 +59,14 @@ import java.util.regex.Pattern;
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class FileEditController {
|
public class FileEditController {
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public MenuItem save;
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public MenuItem open_file;
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public MenuItem open_dir;
|
||||||
|
|
||||||
public enum Type {
|
public enum Type {
|
||||||
|
|
||||||
|
|
@ -84,6 +94,12 @@ public class FileEditController {
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
public void initialize() {
|
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);
|
Properties s = config_path(false);
|
||||||
recursiveFileList = new RecursiveFileList(null);
|
recursiveFileList = new RecursiveFileList(null);
|
||||||
|
|
|
||||||
|
|
@ -10,18 +10,15 @@ import java.util.regex.Pattern;
|
||||||
public class ProcessHtml {
|
public class ProcessHtml {
|
||||||
|
|
||||||
public static final String[] KEYWORDS = new String[] {
|
public static final String[] KEYWORDS = new String[] {
|
||||||
"<!DOCTYPE html>", "<html>", "<head>", "</head>", "<body>",
|
"DOCTYPE","doctype", "html", "head", "body",
|
||||||
"</body>", "</html>", "<p>", "<br>",
|
"h1", "h2","h3","h4","h5","h6", "p", "br","meta",
|
||||||
"<title>", "</title>", "style", "<img",
|
"title","img", "hr", "a", "table","div","span",
|
||||||
"<h1>", "</h1>", "<h3>", ">",
|
"ul", "dl","dd","i","script","li","link"
|
||||||
"<h2>", "</h2>", "</h3>", "<hr>",
|
|
||||||
"<a", "</a>", "<table","<div","<div>","</div>","<span","<span>","</span>",
|
|
||||||
"<ul>", "</ul>", "<dl>", "</dl>", "<dd>","</dl>"
|
|
||||||
};
|
};
|
||||||
|
|
||||||
public static final String[] KEYWORDS2 = new String[] {
|
public static final String[] KEYWORDS2 = new String[] {
|
||||||
"href", "name", "style", "finally", "id", "src",
|
"href", "name", "style", "rel", "id", "src","media","content","http-equiv",
|
||||||
"return"
|
"return","class","target","charset","lay-filter","window","global","document"
|
||||||
};
|
};
|
||||||
|
|
||||||
public static final String KEYWORD_PATTERN = "\\b(" + String.join("|", KEYWORDS) + ")\\b";
|
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(
|
public static final Pattern PATTERN = Pattern.compile(
|
||||||
"(?<KEYWORD>" + KEYWORD_PATTERN + ")"
|
"(?<KEYWORD>" + KEYWORD_PATTERN + ")"
|
||||||
+ "|(?<KEYWORD2>" + KEYWORD_PATTERN2 + ")"
|
|
||||||
+ "|(?<PAREN>" + PAREN_PATTERN + ")"
|
+ "|(?<PAREN>" + PAREN_PATTERN + ")"
|
||||||
+ "|(?<BRACE>" + BRACE_PATTERN + ")"
|
+ "|(?<BRACE>" + BRACE_PATTERN + ")"
|
||||||
+ "|(?<BRACKET>" + BRACKET_PATTERN + ")"
|
+ "|(?<BRACKET>" + BRACKET_PATTERN + ")"
|
||||||
|
|
@ -48,6 +44,7 @@ public class ProcessHtml {
|
||||||
+ "|(?<ANNOTATION>" + ANNOTATION_PATTERN + ")"
|
+ "|(?<ANNOTATION>" + ANNOTATION_PATTERN + ")"
|
||||||
+ "|(?<PARAMS>" + PARAMS_PATTERN + ")"
|
+ "|(?<PARAMS>" + PARAMS_PATTERN + ")"
|
||||||
+ "|(?<METHOD>" + METHOD_PATTERN + ")"
|
+ "|(?<METHOD>" + METHOD_PATTERN + ")"
|
||||||
|
+ "|(?<KEYWORD2>" + KEYWORD_PATTERN2 + ")"
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -156,7 +156,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.code-area .method2 {
|
.code-area .method2 {
|
||||||
-fx-fill: #b76bd5;
|
-fx-fill: #699f45;
|
||||||
-fx-text-fill: red;
|
-fx-text-fill: red;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,9 +14,9 @@
|
||||||
<menus>
|
<menus>
|
||||||
<Menu mnemonicParsing="false" text="文件">
|
<Menu mnemonicParsing="false" text="文件">
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" text="打开文件" onAction="#open_file_menu" />
|
<MenuItem fx:id="open_file" mnemonicParsing="false" text="打开文件" onAction="#open_file_menu" />
|
||||||
<MenuItem mnemonicParsing="false" text="打开文件夹" onAction="#open_file_dir_menu" />
|
<MenuItem fx:id="open_dir" mnemonicParsing="false" text="打开文件夹" onAction="#open_file_dir_menu" />
|
||||||
<MenuItem mnemonicParsing="false" text="保存" onAction="#save_file_menu"/>
|
<MenuItem fx:id="save" mnemonicParsing="false" text="保存" onAction="#save_file_menu"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
</menus>
|
</menus>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue