mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-26 21:30:46 +00:00
Fixed: AS3 hilight and edit XML based on CData or comment only
This commit is contained in:
+37
-7
@@ -91,6 +91,11 @@ EndOfLineComment = "//" {InputCharacter}* {LineTerminator}?
|
||||
IdentFirst = [\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}_$]
|
||||
IdentNext = {IdentFirst} | [\p{Nl}\p{Mn}\p{Mc}\p{Nd}\p{Pc}]
|
||||
|
||||
XmlCommentStart = "<!--"
|
||||
XmlCommentEnd = "-->"
|
||||
|
||||
XmlCDataStart = "<![CDATA["
|
||||
XmlCDataEnd = "]]>"
|
||||
|
||||
/* identifiers */
|
||||
Identifier = {IdentFirst}{IdentNext}*
|
||||
@@ -143,7 +148,7 @@ NamespaceSuffix = "#" {DecIntegerLiteral}
|
||||
|
||||
RegExp = \/([^\r\n/]|\\\/)+\/[a-z]*
|
||||
|
||||
%state STRING, CHARLITERAL, XMLSTARTTAG, XML, OIDENTIFIER
|
||||
%state STRING, CHARLITERAL, XMLSTARTTAG, XML, OIDENTIFIER, XMLCOMMENT, XMLCDATA
|
||||
|
||||
%%
|
||||
|
||||
@@ -211,6 +216,15 @@ RegExp = \/([^\r\n/]|\\\/)+\/[a-z]*
|
||||
}
|
||||
}
|
||||
|
||||
{XmlCommentStart} {
|
||||
yybegin(XMLCOMMENT);
|
||||
return token(TokenType.STRING);
|
||||
}
|
||||
{XmlCDataStart} {
|
||||
yybegin(XMLCDATA);
|
||||
return token(TokenType.STRING);
|
||||
}
|
||||
|
||||
/* operators */
|
||||
|
||||
"(" { return token(TokenType.OPERATOR, PARAN); }
|
||||
@@ -322,12 +336,6 @@ RegExp = \/([^\r\n/]|\\\/)+\/[a-z]*
|
||||
}
|
||||
xmlTagName = s;
|
||||
}
|
||||
/*{XMLBeginTag} { yybegin(XMLSTARTTAG);
|
||||
tokenStart = yychar;
|
||||
tokenLength = yylength();
|
||||
String s=yytext();
|
||||
xmlTagName = s.substring(1);
|
||||
}*/
|
||||
/* identifiers */
|
||||
{Identifier}{NamespaceSuffix} { return token(TokenType.REGEX); }
|
||||
{Identifier} { return token(TokenType.IDENTIFIER); }
|
||||
@@ -406,6 +414,28 @@ RegExp = \/([^\r\n/]|\\\/)+\/[a-z]*
|
||||
{LineTerminator} { yybegin(YYINITIAL); }
|
||||
}
|
||||
|
||||
<XMLCOMMENT> {
|
||||
{XmlCommentEnd} {
|
||||
yybegin(YYINITIAL);
|
||||
return token(TokenType.STRING);
|
||||
}
|
||||
~{XmlCommentEnd} {
|
||||
yypushback(3);
|
||||
return token(TokenType.STRING);
|
||||
}
|
||||
}
|
||||
|
||||
<XMLCDATA> {
|
||||
{XmlCDataEnd} {
|
||||
yybegin(YYINITIAL);
|
||||
return token(TokenType.STRING);
|
||||
}
|
||||
~{XmlCDataEnd} {
|
||||
yypushback(3);
|
||||
return token(TokenType.STRING);
|
||||
}
|
||||
}
|
||||
|
||||
/* error fallback */
|
||||
[^] { }
|
||||
<<EOF>> { return null; }
|
||||
|
||||
Reference in New Issue
Block a user