From 12c80e771b9359f85d0b77754e3af02ad0c7d9ba Mon Sep 17 00:00:00 2001 From: Dennis Ushakov Date: Mon, 7 Apr 2014 13:47:13 +0400 Subject: [PATCH] seems html attributes spec is too aggressive, let's use alpha as attribute start --- .../src/com/intellij/lexer/_HtmlLexer.flex | 2 +- .../src/com/intellij/lexer/_HtmlLexer.java | 142 +++++++++--------- 2 files changed, 73 insertions(+), 71 deletions(-) diff --git a/xml/xml-psi-impl/src/com/intellij/lexer/_HtmlLexer.flex b/xml/xml-psi-impl/src/com/intellij/lexer/_HtmlLexer.flex index d65ffe74f0de..f79beb609f1d 100644 --- a/xml/xml-psi-impl/src/com/intellij/lexer/_HtmlLexer.flex +++ b/xml/xml-psi-impl/src/com/intellij/lexer/_HtmlLexer.flex @@ -54,7 +54,7 @@ WHITE_SPACE_CHARS=[ \n\r\t\f]+ TAG_NAME=({ALPHA}|"_"|":")({ALPHA}|{DIGIT}|"_"|":"|"."|"-")* TAG_NAME_FWT=("#")({ALPHA}|{DIGIT}|"_"|":"|"."|"-")* /* see http://www.w3.org/TR/html5/syntax.html#syntax-attribute-name */ -ATTRIBUTE_NAME=([^ \n\r\t\f\"\'<>/=])+ +ATTRIBUTE_NAME=({ALPHA}|"_"|":")([^ \n\r\t\f\"\'<>/=])* DTD_REF= "\"" [^\"]* "\"" | "'" [^']* "'" DOCTYPE= "JFlex 1.4.3 - * on 4/4/14 6:34 PM from the specification file + * on 4/7/14 1:40 PM from the specification file * /Users/denofevil/Code/IDEA/tools/lexer/../../community/xml/xml-psi-impl/src/com/intellij/lexer/_HtmlLexer.flex */ public class _HtmlLexer implements FlexLexer { @@ -211,73 +212,74 @@ public class _HtmlLexer implements FlexLexer { "\1\45\1\30\1\46\6\45\1\47\1\45\24\46\5\45"+ "\1\50\6\45\7\46\1\45\1\46\1\45\1\30\1\46"+ "\6\45\1\51\1\45\24\46\5\45\1\50\6\45\7\46"+ - "\3\52\1\30\4\52\1\53\3\45\30\52\1\54\3\52"+ - "\1\55\13\52\3\56\1\30\5\56\1\57\1\60\26\56"+ - "\1\61\2\56\1\54\3\56\1\62\13\56\11\63\1\64"+ - "\27\63\1\65\4\63\1\66\4\63\1\67\22\63\1\64"+ - "\26\63\1\70\4\63\1\66\4\63\1\67\10\63\44\71"+ - "\1\72\2\71\1\73\14\71\7\27\1\74\3\27\1\47"+ - "\32\27\1\36\15\27\3\45\1\30\3\45\1\75\3\45"+ - "\1\51\30\45\1\54\1\45\1\50\15\45\3\76\1\30"+ - "\7\76\1\47\30\76\1\54\1\76\1\77\1\76\1\100"+ - "\13\76\1\101\1\102\4\101\1\103\6\101\24\102\5\101"+ - "\1\104\3\101\1\105\2\101\7\102\1\101\1\102\4\101"+ - "\1\103\6\101\24\102\5\101\1\104\3\101\1\106\2\101"+ - "\7\102\3\20\1\0\3\20\1\0\3\20\1\0\25\20"+ - "\1\0\4\20\1\0\4\20\1\26\10\20\3\0\1\21"+ - "\145\0\1\107\2\0\1\107\2\0\1\110\4\0\1\111"+ - "\24\107\6\0\1\112\1\113\4\0\7\107\42\0\1\114"+ - "\22\0\1\115\2\0\1\115\2\0\1\116\5\0\16\115"+ - "\1\117\5\115\14\0\1\117\1\120\1\115\1\121\1\122"+ - "\2\115\3\20\1\0\7\20\1\0\32\20\1\0\4\20"+ - "\1\26\10\20\3\0\1\30\60\0\11\123\1\63\52\123"+ - "\12\124\1\63\51\124\34\0\2\125\47\0\2\126\47\0"+ - "\1\127\71\0\1\130\50\0\2\46\1\0\3\46\6\0"+ - "\24\46\14\0\7\46\50\0\1\131\13\0\3\52\1\0"+ - "\4\52\4\0\30\52\1\0\3\52\1\0\13\52\44\0"+ - "\1\132\17\0\3\56\1\0\40\56\1\0\3\56\1\133"+ - "\16\56\1\0\36\56\1\134\1\56\1\0\3\56\1\133"+ - "\16\56\1\0\40\56\1\132\3\56\1\133\13\56\42\0"+ - "\1\135\62\0\1\63\64\0\1\136\21\0\44\71\1\0"+ - "\2\71\1\137\60\71\1\72\17\71\1\0\2\74\1\0"+ - "\3\74\6\0\24\74\14\0\7\74\1\0\2\75\1\0"+ - "\3\75\6\0\24\75\14\0\7\75\1\0\3\102\1\0"+ - "\1\102\6\0\25\102\4\0\2\102\6\0\7\102\44\0"+ - "\1\140\20\0\2\107\1\0\3\107\6\0\24\107\14\0"+ - "\7\107\1\0\2\110\1\0\3\110\6\0\24\110\14\0"+ - "\7\110\6\0\1\141\6\0\1\142\47\0\1\143\2\0"+ - "\1\143\2\0\1\144\5\0\24\143\14\0\7\143\43\114"+ - "\1\145\20\114\1\0\2\115\1\0\3\115\6\0\24\115"+ - "\13\0\1\146\7\115\2\0\1\147\57\0\1\150\2\0"+ - "\2\115\1\0\3\115\6\0\5\115\1\151\16\115\13\0"+ - "\1\146\7\115\1\0\2\115\1\0\3\115\6\0\10\115"+ - "\1\152\3\115\1\153\7\115\13\0\1\146\7\115\1\0"+ - "\2\115\1\0\3\115\6\0\20\115\1\154\3\115\13\0"+ - "\1\146\7\115\1\0\2\115\1\0\3\115\6\0\22\115"+ - "\1\155\1\115\13\0\1\146\7\115\36\0\2\156\54\0"+ - "\2\157\35\0\1\127\40\0\1\160\70\0\1\161\12\0"+ - "\44\56\1\0\3\56\1\133\13\56\3\134\1\162\37\134"+ - "\1\163\1\162\3\134\1\164\13\134\11\135\1\0\31\135"+ - "\1\165\20\135\12\136\1\0\30\136\1\165\20\136\44\71"+ - "\1\0\17\71\6\0\1\166\73\0\2\167\45\0\2\143"+ - "\1\0\3\143\6\0\24\143\14\0\7\143\1\0\2\144"+ - "\1\0\3\144\6\0\24\144\14\0\7\144\2\0\1\147"+ - "\51\0\1\170\11\0\1\171\12\0\1\171\2\0\1\171"+ - "\5\0\1\171\7\0\2\171\16\0\1\171\4\0\1\171"+ - "\1\0\2\115\1\0\3\115\6\0\24\115\13\0\1\170"+ - "\7\115\1\0\2\115\1\0\3\115\6\0\2\115\1\172"+ - "\21\115\13\0\1\146\7\115\1\0\2\115\1\0\3\115"+ - "\6\0\10\115\1\151\13\115\13\0\1\146\7\115\1\0"+ - "\2\115\1\0\3\115\6\0\2\115\1\117\21\115\13\0"+ - "\1\146\7\115\1\0\2\115\1\0\3\115\6\0\24\115"+ - "\13\0\1\146\2\115\1\153\4\115\32\0\2\173\62\0"+ - "\2\174\30\0\43\162\1\165\20\162\43\134\1\163\1\162"+ - "\3\134\1\164\13\134\20\0\1\175\45\0\1\171\12\0"+ - "\1\171\2\0\1\171\5\0\1\171\7\0\2\171\14\0"+ - "\1\170\1\0\1\171\4\0\1\171\1\0\2\115\1\0"+ - "\3\115\6\0\24\115\13\0\1\146\2\115\1\151\4\115"+ - "\40\0\1\176\44\0\2\177\61\0\1\200\66\0\1\201"+ - "\64\0\2\202\64\0\1\203\35\0"; + "\1\45\1\52\1\45\1\30\1\52\3\45\1\53\4\45"+ + "\24\52\3\45\1\54\1\45\1\50\1\45\1\55\4\45"+ + "\7\52\3\56\1\30\5\56\1\57\1\60\26\56\1\61"+ + "\2\56\1\54\3\56\1\62\13\56\11\63\1\64\27\63"+ + "\1\65\4\63\1\66\4\63\1\67\22\63\1\64\26\63"+ + "\1\70\4\63\1\66\4\63\1\67\10\63\44\71\1\72"+ + "\2\71\1\73\14\71\7\27\1\74\3\27\1\47\32\27"+ + "\1\36\15\27\3\45\1\30\3\45\1\75\3\45\1\51"+ + "\30\45\1\54\1\45\1\50\15\45\3\76\1\30\7\76"+ + "\1\47\30\76\1\54\1\76\1\77\1\76\1\100\13\76"+ + "\1\101\1\102\4\101\1\103\6\101\24\102\5\101\1\104"+ + "\3\101\1\105\2\101\7\102\1\101\1\102\4\101\1\103"+ + "\6\101\24\102\5\101\1\104\3\101\1\106\2\101\7\102"+ + "\3\20\1\0\3\20\1\0\3\20\1\0\25\20\1\0"+ + "\4\20\1\0\4\20\1\26\10\20\3\0\1\21\145\0"+ + "\1\107\2\0\1\107\2\0\1\110\4\0\1\111\24\107"+ + "\6\0\1\112\1\113\4\0\7\107\42\0\1\114\22\0"+ + "\1\115\2\0\1\115\2\0\1\116\5\0\16\115\1\117"+ + "\5\115\14\0\1\117\1\120\1\115\1\121\1\122\2\115"+ + "\3\20\1\0\7\20\1\0\32\20\1\0\4\20\1\26"+ + "\10\20\3\0\1\30\60\0\11\123\1\63\52\123\12\124"+ + "\1\63\51\124\34\0\2\125\47\0\2\126\47\0\1\127"+ + "\71\0\1\130\50\0\2\46\1\0\3\46\6\0\24\46"+ + "\14\0\7\46\50\0\1\131\13\0\3\52\1\0\4\52"+ + "\4\0\30\52\1\0\3\52\1\0\13\52\44\0\1\132"+ + "\17\0\3\56\1\0\40\56\1\0\3\56\1\133\16\56"+ + "\1\0\36\56\1\134\1\56\1\0\3\56\1\133\16\56"+ + "\1\0\40\56\1\132\3\56\1\133\13\56\42\0\1\135"+ + "\62\0\1\63\64\0\1\136\21\0\44\71\1\0\2\71"+ + "\1\137\60\71\1\72\17\71\1\0\2\74\1\0\3\74"+ + "\6\0\24\74\14\0\7\74\1\0\2\75\1\0\3\75"+ + "\6\0\24\75\14\0\7\75\1\0\3\102\1\0\1\102"+ + "\6\0\25\102\4\0\2\102\6\0\7\102\44\0\1\140"+ + "\20\0\2\107\1\0\3\107\6\0\24\107\14\0\7\107"+ + "\1\0\2\110\1\0\3\110\6\0\24\110\14\0\7\110"+ + "\6\0\1\141\6\0\1\142\47\0\1\143\2\0\1\143"+ + "\2\0\1\144\5\0\24\143\14\0\7\143\43\114\1\145"+ + "\20\114\1\0\2\115\1\0\3\115\6\0\24\115\13\0"+ + "\1\146\7\115\2\0\1\147\57\0\1\150\2\0\2\115"+ + "\1\0\3\115\6\0\5\115\1\151\16\115\13\0\1\146"+ + "\7\115\1\0\2\115\1\0\3\115\6\0\10\115\1\152"+ + "\3\115\1\153\7\115\13\0\1\146\7\115\1\0\2\115"+ + "\1\0\3\115\6\0\20\115\1\154\3\115\13\0\1\146"+ + "\7\115\1\0\2\115\1\0\3\115\6\0\22\115\1\155"+ + "\1\115\13\0\1\146\7\115\36\0\2\156\54\0\2\157"+ + "\35\0\1\127\40\0\1\160\70\0\1\161\12\0\44\56"+ + "\1\0\3\56\1\133\13\56\3\134\1\162\37\134\1\163"+ + "\1\162\3\134\1\164\13\134\11\135\1\0\31\135\1\165"+ + "\20\135\12\136\1\0\30\136\1\165\20\136\44\71\1\0"+ + "\17\71\6\0\1\166\73\0\2\167\45\0\2\143\1\0"+ + "\3\143\6\0\24\143\14\0\7\143\1\0\2\144\1\0"+ + "\3\144\6\0\24\144\14\0\7\144\2\0\1\147\51\0"+ + "\1\170\11\0\1\171\12\0\1\171\2\0\1\171\5\0"+ + "\1\171\7\0\2\171\16\0\1\171\4\0\1\171\1\0"+ + "\2\115\1\0\3\115\6\0\24\115\13\0\1\170\7\115"+ + "\1\0\2\115\1\0\3\115\6\0\2\115\1\172\21\115"+ + "\13\0\1\146\7\115\1\0\2\115\1\0\3\115\6\0"+ + "\10\115\1\151\13\115\13\0\1\146\7\115\1\0\2\115"+ + "\1\0\3\115\6\0\2\115\1\117\21\115\13\0\1\146"+ + "\7\115\1\0\2\115\1\0\3\115\6\0\24\115\13\0"+ + "\1\146\2\115\1\153\4\115\32\0\2\173\62\0\2\174"+ + "\30\0\43\162\1\165\20\162\43\134\1\163\1\162\3\134"+ + "\1\164\13\134\20\0\1\175\45\0\1\171\12\0\1\171"+ + "\2\0\1\171\5\0\1\171\7\0\2\171\14\0\1\170"+ + "\1\0\1\171\4\0\1\171\1\0\2\115\1\0\3\115"+ + "\6\0\24\115\13\0\1\146\2\115\1\151\4\115\40\0"+ + "\1\176\44\0\2\177\61\0\1\200\66\0\1\201\64\0"+ + "\2\202\64\0\1\203\35\0"; private static int [] zzUnpackTrans() { int [] result = new int[4628];