Fix synchronization problem
This commit is contained in:
@ -23,6 +23,9 @@ public enum AvailableSyntaxHighlighters {
|
|||||||
JAVA("java", JavaSyntaxHighlighter.INSTANCE),
|
JAVA("java", JavaSyntaxHighlighter.INSTANCE),
|
||||||
APEX("apex", ApexSyntaxHighlighter.INSTANCE),
|
APEX("apex", ApexSyntaxHighlighter.INSTANCE),
|
||||||
XML("xml", XmlSyntaxHighlighter.INSTANCE),
|
XML("xml", XmlSyntaxHighlighter.INSTANCE),
|
||||||
|
XSL("xsl", XmlSyntaxHighlighter.INSTANCE),
|
||||||
|
WSDL("wsdl", XmlSyntaxHighlighter.INSTANCE),
|
||||||
|
POM("pom", XmlSyntaxHighlighter.INSTANCE),
|
||||||
XPATH("xpath", XPathSyntaxHighlighter.INSTANCE);
|
XPATH("xpath", XPathSyntaxHighlighter.INSTANCE);
|
||||||
|
|
||||||
|
|
||||||
|
@ -142,10 +142,11 @@ public class CustomCodeArea extends CodeArea {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void launchAsyncSyntaxHighlighting(SyntaxHighlighter computer) {
|
private synchronized void launchAsyncSyntaxHighlighting(SyntaxHighlighter computer) {
|
||||||
this.syntaxHighlighter = computer;
|
this.syntaxHighlighter = computer;
|
||||||
if (executorService != null) {
|
if (executorService != null) {
|
||||||
executorService.shutdown();
|
executorService.shutdown();
|
||||||
|
executorService = null;
|
||||||
}
|
}
|
||||||
if (isSyntaxHighlightingEnabled && syntaxHighlighter != null) {
|
if (isSyntaxHighlightingEnabled && syntaxHighlighter != null) {
|
||||||
executorService = Executors.newSingleThreadExecutor();
|
executorService = Executors.newSingleThreadExecutor();
|
||||||
|
@ -35,7 +35,7 @@ public class XPathSyntaxHighlighter extends SimpleRegexSyntaxHighlighter {
|
|||||||
.or("path", "//?")
|
.or("path", "//?")
|
||||||
.or("paren", "[()]")
|
.or("paren", "[()]")
|
||||||
.or("bracket", "[\\[\\]]")
|
.or("bracket", "[\\[\\]]")
|
||||||
.or("string", "'([^'\\\\]|\\\\.)*'")
|
.or("string", "('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")")
|
||||||
.or("single-line-comment", "\\(:.*:\\)")
|
.or("single-line-comment", "\\(:.*:\\)")
|
||||||
.create();
|
.create();
|
||||||
|
|
||||||
|
@ -25,8 +25,8 @@ public class XmlSyntaxHighlighter extends SimpleRegexSyntaxHighlighter {
|
|||||||
.or("xml-prolog", "<[?]xml.*[?]>")
|
.or("xml-prolog", "<[?]xml.*[?]>")
|
||||||
.or("lt-gt", "</?|/?>")
|
.or("lt-gt", "</?|/?>")
|
||||||
.or("tag-name", "\\b(?<=(</?))[\\w:]++")
|
.or("tag-name", "\\b(?<=(</?))[\\w:]++")
|
||||||
.or("attribute-name", "\\w+(?=\\s*=\\s*\")")
|
.or("attribute-name", "\\w+(?=\\s*=\\s*[\"'])")
|
||||||
.or("string", "\"([^\"\\\\]|\\\\.)*\"")
|
.or("string", "('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")")
|
||||||
.create(Pattern.DOTALL);
|
.create(Pattern.DOTALL);
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user