lectures.alex.balgavy.eu

Lecture notes from university.
git clone git://git.alex.balgavy.eu/lectures.alex.balgavy.eu.git
Log | Files | Refs | Submodules

syntax_test_html.html (27513B)


      1 ## SYNTAX TEST "Packages/HTML/HTML.sublime-syntax"
      2 <?xml version="1.0" encoding="utf-8"?>
      3 ## <- meta.tag.preprocessor punctuation.definition.tag.begin
      4 ##^^^entity.name.tag.xml
      5 ##                                   ^ punctuation.definition.tag.end
      6 <!DOCTYPE html SYSTEM "html5.dtd" [ <!-- comment -->
      7 ## <- meta.tag.sgml.doctype punctuation.definition.tag.begin
      8 ##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.tag.sgml.doctype
      9 ##^^^^^^^ keyword.declaration.doctype
     10 ##        ^^^^ constant.language.doctype
     11 ##             ^^^^^^ keyword.content.external
     12 ##                    ^^^^^^^^^^^ string.quoted.double
     13 ##                                ^ meta.brackets meta.internal-subset punctuation.section.brackets.begin
     14 ##                                  ^^^^^^^^^^^^^^^^ comment.block
     15 ##                                  ^^^^ punctuation.definition.comment.begin
     16 ##                                               ^^^ punctuation.definition.comment.end
     17     <!ENTITY name "&#160;">;
     18 ##  ^^^^^^^^^^^^^^^^^^^^^^^^ meta.tag.sgml.doctype meta.brackets meta.internal-subset
     19 ]>
     20 ## <- meta.tag.sgml.doctype meta.brackets meta.internal-subset punctuation.section.brackets.end
     21 <html>
     22     <head>
     23         <title>Test HTML</title>
     24 
     25         <script> <!--
     26         ## ^^^^^ meta.tag.script.begin.html
     27         ## ^ entity.name.tag.script - source.js.embedded.html
     28         ##       ^^^^ comment.block.html punctuation.definition.comment.begin.html
     29             var foo = 100;
     30             var baz = function() {
     31                 ## <- entity.name.function.js
     32             }
     33 
     34             (a --> b);
     35             ## ^^^ source.js.embedded.html meta.group.js keyword.operator
     36         --> </script>
     37         ## <- comment.block.html punctuation.definition.comment.end.html
     38         ##    ^^^^^^ entity.name.tag.script.html
     39         ##  ^^^^^^^^^ meta.tag.script.end.html - source.js.embedded.html
     40         ##           ^ - meta.tag
     41 
     42         <script type="text/javascript"> <!--
     43         ## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.tag.script.begin.html
     44         ## ^ entity.name.tag.script - source.js.embedded.html
     45         ##            ^ string.quoted.double.html - source.js.embedded.html
     46         ##                              ^^^^ comment.block.html punctuation.definition.comment.begin.html
     47             var foo = 100;
     48             var baz = function() {
     49                 ## <- entity.name.function.js
     50             }
     51 
     52             (a --> b);
     53             ## ^^^ source.js.embedded.html meta.group.js keyword.operator
     54         --> </script>
     55         ## <- comment.block.html punctuation.definition.comment.end.html
     56         ##    ^^^^^^ entity.name.tag.script.html
     57         ##  ^^^^^^^^^ meta.tag.script.end.html - source.js.embedded.html
     58         ##           ^ - meta.tag
     59 
     60         <script
     61         type
     62         =
     63         application/jAvAsCrIpT>
     64             var foo = 100;
     65         ##  ^^^^^^^^^^^^^^^ source.js.embedded
     66         </script>
     67 
     68         <script type = "text/html"> <!--
     69         ## ^^^^^^^^^^^^^^^^^^^^^^^^ meta.tag.script.begin.html
     70         ## ^ entity.name.tag.script - text.html.embedded.html
     71         ##             ^ string.quoted.double.html - text.html.embedded.html
     72         ##                          ^^^^ comment.block.html punctuation
     73             comment -->
     74         ##  ^^^^^^^^^^^ text.html.embedded.html comment.block.html
     75             <div></div>
     76         ##  ^^^^^^^^^^^ text.html.basic text.html.embedded meta.tag.block.any
     77             <script type=text/javascript>
     78         ##  ^ text.html.basic text.html.embedded.html - source.js.embedded.html
     79                 function test() {}
     80         ##  ^ text.html.basic text.html.embedded.html source.js.embedded.html
     81             </script>
     82         ##  ^^^^^^^^^ text.html.basic text.html.embedded.html meta.tag.script.end
     83         </script>
     84 ##     ^ text.html.basic text.html.embedded.html
     85 ##      ^^^^^^^^^ text.html.basic - text.html.embedded.html meta.tag.script.end
     86 ##               ^ text.html.basic - text.html.embedded.html
     87 
     88         <script>42</script >
     89 ##      ^^^^^^^^ meta.tag.script.begin
     90 ##              ^^ source.js.embedded
     91 ##                ^^^^^^^^^^ meta.tag.script.end
     92 
     93         <script
     94         type
     95         =
     96         'other'
     97         >
     98             var foo = 100;
     99         ##  ^^^^^^^^^^^^^^^ - source.js
    100         </script>
    101 
    102         <style type="text/css">
    103         ## ^^^^^^^^^^^^^^^^^^^^ meta.tag.style.begin.html
    104         ## ^ entity.name.tag.style.html
    105         ## ^^^^^^^^^^^^^^^^^^^^ - source.css.embedded.html
    106         ##      ^ entity.other.attribute-name
    107         ##                     ^ - meta.tag
    108             h2 {
    109             ## <- entity.name.tag.css
    110 ## <- source.css.embedded.html
    111                 font-family: "Arial";
    112                 ##             ^ string.quoted.double.css
    113             }
    114         </style>
    115         ##^^^^^ entity.name.tag.style.html
    116         ##<- meta.tag.style.end.html - source.css.embedded.html
    117         ##^^^^^^ meta.tag.style.end.html - source.css.embedded.html
    118         ##      ^ - meta.tag
    119 
    120         <style
    121         type
    122         =
    123         text/css>
    124             div {}
    125         ##  ^^^^^^ source.css.embedded
    126         </style>
    127 
    128         <style
    129         type
    130         =
    131         text/csss>
    132             div {}
    133         ##  ^^^^^^ - source.css
    134         </style>
    135 
    136         <style />
    137         ##       ^ - source.css.embedded.html
    138         ## ^ meta.tag.style entity.name.tag.style
    139         <script />
    140         ##        ^ - source.js.embedded.html
    141         ## ^ meta.tag.script entity.name.tag.script
    142     </head>
    143     <body>
    144 
    145      <![CDATA[<!DOCTYPE catalog plist "dtd">]]>
    146 ##   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.tag.sgml.cdata
    147 ##   ^^^ punctuation.definition.tag.begin
    148 ##      ^^^^^ keyword.declaration.cdata
    149 ##           ^ punctuation.definition.tag.begin
    150 ##            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ string.unquoted.cdata
    151 ##                                          ^ - string.unquoted.cdata
    152 ##                                          ^^^ punctuation.definition.tag.end
    153      <![CDATA[
    154 ##   ^^^^^^^^^^ meta.tag.sgml.cdata
    155 ##   ^^^ punctuation.definition.tag.begin
    156 ##      ^^^^^ keyword.declaration.cdata
    157 ##           ^ punctuation.definition.tag.begin
    158         <!DOCTYPE catalog plist "dtd">
    159 ##      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ string.unquoted.cdata
    160     ]]>
    161 ##  ^ - string.unquoted.cdata
    162 ##  ^^^ punctuation.definition.tag.end
    163 
    164      <![CDATA[
    165         <![CDATA[ unparsed! ]]>
    166 ##      ^^^^^^^^^^^^^^^^^^^^ string.unquoted.cdata
    167 ##      ^^^ - punctuation.definition.tag.begin
    168 ##         ^^^^^ - keyword.declaration.cdata
    169 ##              ^ - punctuation.definition.tag.begin
    170 ##                          ^^^ punctuation.definition.tag.end
    171     ]]>
    172 ##  ^^^ - punctuation.definition.tag.end - illegal
    173 
    174     <code>]]></code>
    175 ##        ^^^ - punctuation.definition.tag.end - illegal
    176 
    177         <!-- Comment -->
    178 ##      ^^^^^^^^^^^^^^^^ comment.block.html
    179 ##      ^^^^ punctuation.definition.comment.begin.html
    180 ##                   ^^^ punctuation.definition.comment.end.html
    181 ##          ^^^^^^^^^ - punctuation
    182 
    183         <!----- hyphens - -- --- -->
    184 ##      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ comment.block - invalid.illegal.bad-comments-or-CDATA
    185 
    186         <!-->-- hyphens <!-- --!> <!--->
    187 ##      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ comment.block
    188 ##          ^ invalid.illegal.bad-comments-or-CDATA
    189 ##                      ^^^^ invalid.illegal.bad-comments-or-CDATA
    190 ##                           ^^^^ invalid.illegal.bad-comments-or-CDATA
    191 ##                                ^^^ invalid.illegal.bad-comments-or-CDATA
    192 
    193         <!--->- hyphens <!-   -!> <!-->
    194 ##      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ comment.block
    195 ##          ^^ invalid.illegal.bad-comments-or-CDATA
    196 ##                      ^^^^^^^^^^^^^^^ - invalid.illegal.bad-comments-or-CDATA
    197 
    198         <script type=html/text/>
    199         ##     ^ - meta.attribute-with-value
    200         ##      ^^^^ entity.other.attribute-name
    201         ##      ^^^^^^^^^^^^^^ meta.attribute-with-value
    202         ##           ^^^^^^^^^ string.unquoted
    203         ##                    ^^ punctuation.definition.tag.end.html
    204 
    205         <img title/>
    206         ##  ^ - meta.attribute-with-value
    207         ##   ^^^^^ entity.other.attribute-name
    208         ##   ^^^^^ meta.attribute-with-value
    209         ##        ^^ punctuation.definition.tag.end.html
    210 
    211         <img src=//>
    212         ##  ^ - meta.attribute-with-value
    213         ##   ^^^ entity.other.attribute-name
    214         ##   ^^^^^ meta.attribute-with-value
    215         ##       ^ string.unquoted.html
    216         ##        ^^ punctuation.definition.tag.end.html
    217 
    218         <img src=/f̱oo⏡/bar/baz//>
    219         ##  ^ - meta.attribute-with-value
    220         ##   ^^^ entity.other.attribute-name
    221         ##   ^^^^^^^^^^^^^^^^^^^ meta.attribute-with-value
    222         ##       ^^^^^^^^^^^^^^^ string.unquoted
    223         ##                      ^^ punctuation.definition.tag.end.html
    224 
    225         <img src=/f̱oo⏡/bar/baz/ />
    226         ##  ^ - meta.attribute-with-value
    227         ##   ^^^ entity.other.attribute-name
    228         ##   ^^^^^^^^^^^^^^^^^^^ meta.attribute-with-value
    229         ##       ^^^^^^^^^^^^^^^ string.unquoted
    230         ##                      ^ - meta.attribute-with-value
    231         ##                       ^^ punctuation.definition.tag.end.html
    232 
    233         <img title=foo"/>
    234         ##  ^ - meta.attribute-with-value
    235         ##   ^^^^^ entity.other.attribute-name
    236         ##   ^^^^^^^^^^ meta.attribute-with-value
    237         ##         ^^^^ string.unquoted.html
    238         ##            ^ invalid.illegal.attribute-value.html
    239         ##             ^^ punctuation.definition.tag.end.html
    240 
    241         <img title=/f̱oo⏡/"bar"/baz//>
    242         ##  ^ - meta.attribute-with-value
    243         ##   ^^^^^ entity.other.attribute-name
    244         ##   ^^^^^^^^^^^^^^^^^^^^ meta.attribute-with-value
    245         ##         ^^^^^^^^^^^^^^^^^ string.unquoted.html
    246         ##                ^ invalid.illegal.attribute-value.html
    247         ##                    ^ invalid.illegal.attribute-value.html
    248         ##                          ^^ punctuation.definition.tag.end.html
    249 
    250         <div title=description></div>
    251         ##  ^ - meta.attribute-with-value
    252         ##   ^^^^^ entity.other.attribute-name
    253         ##   ^^^^^^^^^^^^^^^^^ meta.attribute-with-value
    254         ##         ^^^^^^^^^^^ string.unquoted
    255 
    256 <div
    257 title="description"></div>
    258 ## <- entity.other.attribute-name
    259 
    260 <div
    261 title = "description"></div>
    262 ## <- entity.other.attribute-name
    263 ##    ^ punctuation.separator.key-value.html
    264 ##      ^^^^^^^^^^^^^ string
    265 
    266 <div title=
    267     "description"></div>
    268 ##  ^^^^^^^^^^^^^ string
    269 
    270 <div title
    271     ="description"></div>
    272 ##  ^ punctuation.separator.key-value
    273 ##   ^^^^^^^^^^^^^ string
    274 
    275 <div title="description"
    276 class="foo"></div>
    277 ## <- entity.other.attribute-name.class
    278 
    279         <div title='description'></div>
    280         ##  ^ - meta.attribute-with-value
    281         ##   ^^^^^^^^^^^^^^^^^^^ meta.attribute-with-value
    282         ##   ^^^^^ entity.other.attribute-name
    283         ##         ^^^^^^^^^^^^^ string.quoted.single
    284         ##         ^ punctuation.definition.string.begin
    285         ##                     ^ punctuation.definition.string.end
    286 
    287         <div title="description"></div>
    288         ##  ^ - meta.attribute-with-value
    289         ##   ^^^^^^^^^^^^^^^^^^^ meta.attribute-with-value
    290         ##   ^^^^^ entity.other.attribute-name
    291         ##         ^^^^^^^^^^^^^ string.quoted.double
    292         ##         ^ punctuation.definition.string.begin
    293         ##                     ^ punctuation.definition.string.end
    294 
    295         <div id=MyId></div>
    296         ##  ^ - meta.attribute-with-value.id
    297         ##   ^^ entity.other.attribute-name.id
    298         ##   ^^^^^^^ meta.attribute-with-value.id
    299         ##      ^^^^ string.unquoted meta.toc-list.id
    300 
    301         <div id=My&#x49;d></div>
    302         ##  ^ - meta.attribute-with-value.id
    303         ##   ^^ entity.other.attribute-name.id
    304         ##   ^^^^^^^^^^^^ meta.attribute-with-value.id
    305         ##      ^^^^^^^^^ string.unquoted meta.toc-list.id
    306         ##        ^^^^^^ constant.character.entity.hexadecimal
    307 
    308         <div id='MyId2'></div>
    309         ##  ^ - meta.attribute-with-value.id
    310         ##   ^^^^^^^^^^ meta.attribute-with-value.id
    311         ##   ^^ entity.other.attribute-name.id
    312         ##      ^^^^^^^ string.quoted.single
    313         ##      ^ punctuation.definition.string.begin - meta.toc-list.id
    314         ##       ^^^^^ meta.toc-list.id
    315         ##            ^ punctuation.definition.string.end - meta.toc-list.id
    316 
    317         <div id="ElementID"></div>
    318         ##  ^ - meta.attribute-with-value.id
    319         ##   ^^^^^^^^^^ meta.attribute-with-value.id
    320         ##   ^^ entity.other.attribute-name.id
    321         ##      ^^^^^^^^^^^ string.quoted.double
    322         ##      ^ punctuation.definition.string.begin - meta.toc-list.id
    323         ##       ^^^^^^^^^ meta.toc-list.id
    324         ##                ^ punctuation.definition.string.end - meta.toc-list.id
    325 
    326         <div id=el-&foo;" bar&baz;></div>
    327         ##  ^ - meta.attribute-with-value.id
    328         ##   ^^ entity.other.attribute-name.id
    329         ##   ^^^^^^^^^^^^ meta.attribute-with-value.id
    330         ##      ^^^^^^^^^ string.unquoted meta.toc-list.id
    331         ##         ^^^^^ constant.character.entity.named
    332         ##              ^ invalid.illegal.attribute-value.html
    333         ##               ^ - meta.attribute-with-value - entity - constant - string - punctuation
    334         ##                ^^^^^^^^ meta.attribute-with-value entity.other.attribute-name
    335 
    336         <div id='el-&foo;" bar&baz;'></div>
    337         ##  ^ - meta.attribute-with-value.id
    338         ##   ^^^^^^^^^^^^^^^^^^^^^^^ meta.attribute-with-value.id
    339         ##   ^^ entity.other.attribute-name.id
    340         ##      ^^^^^^^^^^^^^^^^^^^^ string.quoted.single
    341         ##      ^ punctuation.definition.string.begin - meta.toc-list.id
    342         ##       ^^^^^^^^^ meta.toc-list.id
    343         ##          ^^^^^ constant.character.entity
    344         ##                ^ - meta.toc-list.id
    345         ##                 ^^^^^^^^ meta.toc-list.id
    346         ##                    ^^^^^ constant.character.entity
    347         ##                         ^ punctuation.definition.string.end - meta.toc-list.id
    348 
    349         <div id="el-&foo;' bar&baz;"></div>
    350         ##  ^ - meta.attribute-with-value.id
    351         ##   ^^^^^^^^^^^^^^^^^^^^^^^ meta.attribute-with-value.id
    352         ##   ^^ entity.other.attribute-name.id
    353         ##      ^^^^^^^^^^^^^^^^^^^^ string.quoted.double
    354         ##      ^ punctuation.definition.string.begin - meta.toc-list.id
    355         ##       ^^^^^^^^^ meta.toc-list.id
    356         ##          ^^^^^ constant.character.entity
    357         ##                ^ - meta.toc-list.id
    358         ##                 ^^^^^^^^ meta.toc-list.id
    359         ##                    ^^^^^ constant.character.entity
    360         ##                         ^ punctuation.definition.string.end - meta.toc-list.id
    361 
    362         <div class=element-class></div>
    363         ##  ^ - meta.attribute-with-value.class
    364         ##   ^^^^^ entity.other.attribute-name.class
    365         ##   ^^^^^^^^^^^^^^^^^^^ meta.attribute-with-value.class
    366         ##         ^^^^^^^^^^^^^ string.unquoted meta.class-name
    367 
    368         <div class=element&#xAD;class></div>
    369         ##  ^ - meta.attribute-with-value.class
    370         ##   ^^^^^ entity.other.attribute-name.class
    371         ##   ^^^^^^^^^^^^^^^^^^^^^^^^ meta.attribute-with-value.class
    372         ##         ^^^^^^^^^^^^^^^^^^ string.unquoted meta.class-name
    373         ##                ^^^^^^ constant.character.entity.hexadecimal
    374 
    375         <div class='element-class'></div>
    376         ##  ^ - meta.attribute-with-value.class
    377         ##   ^^^^^^^^^^^^^^^^^^^^^ meta.attribute-with-value.class
    378         ##   ^^^^^ entity.other.attribute-name.class
    379         ##         ^^^^^^^^^^^^^^^ string.quoted.single
    380         ##         ^ punctuation.definition.string.begin - meta.class-name
    381         ##          ^^^^^^^^^^^^^ meta.class-name
    382         ##                       ^ punctuation.definition.string.end - meta.class-name
    383 
    384         <div class="element-class"></div>
    385         ##  ^ - meta.attribute-with-value.class
    386         ##   ^^^^^^^^^^^^^^^^^^^^^ meta.attribute-with-value.class
    387         ##   ^^^^^ entity.other.attribute-name.class
    388         ##         ^^^^^^^^^^^^^^^ string.quoted.double
    389         ##         ^ punctuation.definition.string.begin - meta.class-name
    390         ##          ^^^^^^^^^^^^^ meta.class-name
    391         ##                       ^ punctuation.definition.string.end - meta.class-name
    392 
    393         <div class=el-&foo;" bar&baz;></div>
    394         ##  ^ - meta.attribute-with-value.class
    395         ##   ^^^^^ entity.other.attribute-name.class
    396         ##   ^^^^^^^^^^^^^^^ meta.attribute-with-value.class
    397         ##         ^^^^^^^^^ string.unquoted meta.class-name
    398         ##            ^^^^^ constant.character.entity.named
    399         ##                 ^ invalid.illegal.attribute-value.html
    400         ##                  ^ - meta.attribute-with-value - entity - constant - string - punctuation
    401         ##                   ^^^^^^^^ meta.attribute-with-value entity.other.attribute-name
    402 
    403         <div class='el-&foo;" bar&baz;'></div>
    404         ##  ^ - meta.attribute-with-value.class
    405         ##   ^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.attribute-with-value.class
    406         ##   ^^^^^ entity.other.attribute-name.class
    407         ##         ^^^^^^^^^^^^^^^^^^^^ string.quoted.single
    408         ##         ^ punctuation.definition.string.begin - meta.class-name
    409         ##          ^^^^^^^^^ meta.class-name
    410         ##             ^^^^^ constant.character.entity
    411         ##                   ^ - meta.class-name
    412         ##                    ^^^^^^^^ meta.class-name
    413         ##                       ^^^^^ constant.character.entity
    414         ##                            ^ punctuation.definition.string.end - meta.class-name
    415 
    416         <div class="el-&foo;' bar&baz;"></div>
    417         ##  ^ - meta.attribute-with-value.class
    418         ##   ^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.attribute-with-value.class
    419         ##   ^^^^^ entity.other.attribute-name.class
    420         ##         ^^^^^^^^^^^^^^^^^^^^ string.quoted.double
    421         ##         ^ punctuation.definition.string.begin - meta.class-name
    422         ##          ^^^^^^^^^ meta.class-name
    423         ##             ^^^^^ constant.character.entity
    424         ##                   ^ - meta.class-name
    425         ##                    ^^^^^^^^ meta.class-name
    426         ##                       ^^^^^ constant.character.entity
    427         ##                            ^ punctuation.definition.string.end - meta.class-name
    428 
    429         <div style="width: 100%"></div>
    430         ##  ^ - meta.attribute-with-value.style
    431         ##   ^^^^^^^^^^^^^^^^^^^ meta.attribute-with-value.style
    432         ##   ^^^^^ meta.attribute-with-value.style.html entity.other.attribute-name.style.html
    433         ##         ^ punctuation.definition.string.begin.html - source.css
    434         ##          ^^^^^^^^^^^ source.css
    435         ##                     ^ punctuation.definition.string.end.html - source.css
    436         ##          ^^^^^ meta.property-name.css support.type.property-name.css
    437         ##                 ^^^^ meta.property-value.css constant.numeric.integer.decimal.css
    438 
    439         <div style='width: 100%;'></div>
    440         ##  ^ - meta.attribute-with-value.style
    441         ##   ^^^^^^^^^^^^^^^^^^^^ meta.attribute-with-value.style
    442         ##   ^^^^^ meta.attribute-with-value.style.html entity.other.attribute-name.style.html
    443         ##         ^ punctuation.definition.string.begin.html - source.css
    444         ##                      ^ punctuation.definition.string.end.html - source.css
    445         ##          ^^^^^^^^^^^^ source.css
    446         ##          ^^^^^ meta.property-name.css support.type.property-name.css
    447         ##                 ^^^^ meta.property-value.css constant.numeric.integer.decimal.css
    448 
    449         <tag attr otherattr attr-with-dashes attr_with_underscores attr.with.dot attr.with.dot.value="val"></tag>
    450         ##   ^ entity.other.attribute-name.html
    451         ##        ^ entity.other.attribute-name.html
    452         ##                  ^ entity.other.attribute-name.html
    453         ##                                   ^ entity.other.attribute-name.html
    454         ##                                                         ^^^^^^^^^^^^^ entity.other.attribute-name.html
    455         ##                                                                       ^^^^^^^^^^^^^^^^^^^ entity.other.attribute-name.html
    456 
    457         <tag "f'o`o<bar"="bar"></tag>
    458         ##   ^^^^^^^^^^^^^^^^^ meta.attribute-with-value.html
    459         ##   ^^^^^^^^^^^ entity.other.attribute-name.html
    460         ##   ^ invalid.illegal.attribute-name.html
    461         ##     ^ invalid.illegal.attribute-name.html
    462         ##       ^ invalid.illegal.attribute-name.html
    463         ##         ^ invalid.illegal.attribute-name.html
    464         ##             ^ invalid.illegal.attribute-name.html
    465 
    466         <tag *([&\=></tag>
    467         ##   ^^^^^^^ - invalid
    468         ##   ^^^^^ entity.other.attribute-name
    469         ##        ^ punctuation.separator.key-value
    470 
    471         <tag    foo	bar></tag>Mind the tab character!
    472         ##      ^^^ entity.other.attribute-name
    473         ##         ^ - entity.other.attribute-name
    474         ##          ^^^ entity.other.attribute-name
    475 
    476         <tag foo=a bar=b></tag>
    477         ##   ^^^ entity.other.attribute-name
    478         ##       ^ string.unquoted
    479         ##         ^^^ entity.other.attribute-name
    480         ##             ^ string.unquoted
    481 
    482         <a disabled onclick="setTimeout(function(){}, 100)">Test</a>
    483         ##         ^ - meta.attribute-with-value.event
    484         ##          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.attribute-with-value.event
    485         ##                  ^ - source.js
    486         ##                                                ^ - source.js
    487         ##                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.js
    488         ##                   ^ meta.function-call.js support.function
    489         ## ^^^^^^^^ entity.other.attribute-name
    490 
    491         <article><span><othertag></othertag><othertag /></span></article>
    492         ## ^^^^^ entity.name.tag.block.any.html
    493         ##        ^^^^ entity.name.tag.inline.any.html
    494         ##              ^^^^^^^^ entity.name.tag.other.html
    495         ##                                           ^ - punctuation.definition.tag.end.html
    496         ##                                            ^^ meta.tag.other.html punctuation.definition.tag.end.html
    497 
    498         <body·other attrib=1/>
    499         ## ^^^^^^^^ entity.name.tag.other.html
    500         ##          ^^^^^^ entity.other.attribute-name.html
    501 
    502         <xsl:tag></xsl:tag>
    503         ##^^^^^^ entity.name.tag.other.html
    504         ##         ^^^^^^^ entity.name.tag.other.html
    505 
    506         <t*([&/>
    507         ##^^^^ entity.name.tag.other.html
    508         ##    ^^ punctuation.definition.tag.end.html
    509 
    510         <t*℗[& *([&\="₦"></t*([&>
    511         ##^^^^ entity.name.tag.other.html
    512         ##^^^^^^^^^^^^^^^^^^^^^^^ - invalid
    513         ##     ^^^^^ entity.other.attribute-name.html
    514         ##          ^ punctuation.separator.key-value.html
    515         ##           ^^^ string.quoted.double.html
    516         ##              ^ punctuation.definition.tag.end.html
    517         ##               ^^ punctuation.definition.tag.begin.html
    518         ##                 ^^^^^ entity.name.tag.other.html
    519         ##                      ^ punctuation.definition.tag.end.html
    520 
    521         <form-custom-tag><div-custom-tag><span-custom-tag></span-custom-tag></div-custom-tag></form-custom-tag>
    522         ##^^^^^^^^^^^^^^ entity.name.tag.custom.html
    523         ##                ^^^^^^^^^^^^^^ entity.name.tag.custom.html
    524         ##                                ^^^^^^^^^^^^^^^ entity.name.tag.custom.html
    525         ##                                                  ^^^^^^^^^^^^^^^ entity.name.tag.custom.html
    526         ##                                                                    ^^^^^^^^^^^^^^ entity.name.tag.custom.html
    527 
    528         <test-custom-tag/>
    529         ##^^^^^^^^^^^^^^^^ meta.tag.custom.html
    530         ##              ^^ punctuation.definition.tag.end.html
    531         ##                ^ - meta.tag.custom.html - punctuation.definition.tag.end.html
    532 
    533         <body-custom·tag₡name/>
    534         ## ^^^^^^^^^^^^^^^^^^ entity.name.tag.custom.html
    535 
    536         <INVALID-custom-TAG></INVALID-CUSTOM-TAG>
    537         ## ^^^^^ invalid.illegal.custom-tag-name.html
    538         ##       ^^^^^^ - invalid.illegal.custom-tag-name.html
    539         ##              ^^^ invalid.illegal.custom-tag-name.html
    540         ##                    ^^^^^^^ invalid.illegal.custom-tag-name.html
    541         ##                            ^^^^^^ invalid.illegal.custom-tag-name.html
    542         ##                                   ^^^ invalid.illegal.custom-tag-name.html
    543 
    544         <form name="formName" type="post">
    545         ## ^ entity.name.tag.block.form.html
    546         ## <- punctuation.definition.tag.begin.html
    547         ##                               ^ punctuation.definition.tag.end.html
    548             <label for="inputId">
    549             ## ^ entity.name.tag.inline.form.html
    550             ##     ^ entity.other.attribute-name.html
    551             ##        ^ punctuation.separator.key-value.html
    552             <input id="inputId" type="text" value="value">
    553             ## ^ entity.name.tag.inline.form.html
    554             ##                   ^ entity.other.attribute-name.html
    555             <textarea name="texareaName"></textarea>
    556             ## ^ entity.name.tag.inline.form.html
    557         </form>
    558 
    559         <table border="0" cellspacing="0" cellpadding="2" class="editor">
    560         ## ^ entity.name.tag.inline.table.html
    561             <thead>
    562             ## ^ entity.name.tag.inline.table.html
    563                 <tr>
    564             ##   ^ entity.name.tag.inline.table.html
    565                     <th> </th>
    566                 </tr>
    567             </thead>
    568             ## ^ entity.name.tag.inline.table.html
    569             <tfoot>
    570             ## ^ entity.name.tag.inline.table.html
    571                 <tr>
    572                     <td> </td>
    573                     ##^ entity.name.tag.inline.table.html
    574                 </tr>
    575             </tfoot>
    576             ## ^ entity.name.tag.inline.table.html
    577             <tbody>
    578                 <tr>
    579                     <td> </td>
    580                 </tr>
    581             </tbody>
    582         </table>
    583 
    584         &amp;
    585 ##      ^^^^^ constant.character.entity.named
    586 ##      ^ punctuation.definition.entity
    587 ##          ^ punctuation.terminator.entity
    588 
    589         &#123;
    590 ##      ^^^^^^ constant.character.entity.decimal
    591 ##      ^^ punctuation.definition.entity
    592 ##           ^ punctuation.terminator.entity
    593 
    594         &#x7f;
    595 ##      ^^^^^^ constant.character.entity.hexadecimal
    596 ##      ^^^ punctuation.definition.entity
    597 ##           ^ punctuation.terminator.entity
    598 
    599         &#X7F;
    600 ##      ^^^^^^ constant.character.entity.hexadecimal
    601 ##      ^^^ punctuation.definition.entity
    602 ##           ^ punctuation.terminator.entity
    603 
    604         &β;
    605 ##      ^^^ - constant.character.entity
    606 
    607         &#;
    608 ##      ^^^ - constant.character.entity
    609 
    610         &#x;
    611 ##      ^^^^ - constant.character.entity
    612 
    613 
    614         <a href="http://google.com/?one=1&amp;two=2"></a>
    615         ##                               ^^^^^ constant.character.entity
    616         <a href="http://google.com/?one=1&two=2"></a>
    617         ##                               ^ - constant.character.entity
    618         ##                               ^ - invalid.illegal
    619 
    620         <hr/><hr />
    621         ## ^^ meta.tag.block.any punctuation.definition.tag.end
    622         ##    ^^ entity.name.tag.block.any
    623         ##       ^^ punctuation.definition.tag.end
    624 
    625         # make sure to stop tag names before the next < to prevent php
    626         # and other syntaxes from breaking.
    627         <article<?php>
    628         ##^^^^^^ entity.name.tag.block.any.html
    629         ##      ^^^^^^ - entity.name.tag
    630 
    631         <_notag>
    632         ##^^^^^ - entity.name.tag
    633 
    634         <2notag>
    635         ##^^^^^ - entity.name.tag
    636 
    637     </body>
    638     # ^^^^ entity.name.tag.structure
    639 </html>