]> git.lizzy.rs Git - micro.git/blobdiff - runtime/syntax/html.yaml
Merge
[micro.git] / runtime / syntax / html.yaml
index 3987ac387879045a3296c1ce547783940ceaf956..d17ec7f074b3067af7683aa58fc7c604c591f837 100644 (file)
@@ -4,23 +4,44 @@ detect:
     filename: "\\.htm[l]?$"
 
 rules:
-    - identifier: "<.*?>"
-    - special: "&[^;[[:space:]]]*;"
-    - statement: "(alt|bgcolor|height|href|label|longdesc|name|onclick|onfocus|onload|onmouseover|size|span|src|style|target|type|value|width)="
+    - error: "<[^!].*?>"
+    - symbol.tag: "(?i)<[/]?(a(bbr|cronym|ddress|pplet|rea|rticle|side|udio)?|b(ase(font)?|d(i|o)|ig|lockquote|r)?|ca(nvas|ption)|center|cite|co(de|l|lgroup)|d(ata(list)?|d|el|etails|fn|ialog|ir|l|t)|em(bed)?|fieldset|fig(caption|ure)|font|form|(i)?frame|frameset|h[1-6]|hr|i|img|in(put|s)|kbd|keygen|label|legend|li(nk)?|ma(in|p|rk)|menu(item)?|met(a|er)|nav|no(frames|script)|o(l|pt(group|ion)|utput)|p(aram|icture|re|rogress)?|q|r(p|t|uby)|s(trike)?|samp|se(ction|lect)|small|source|span|strong|su(b|p|mmary)|textarea|time|track|u(l)?|var|video|wbr)( .*|>)*?>"
+    - symbol.tag.extended: "(?i)<[/]?(body|div|html|head(er)?|footer|title|table|t(body|d|h(ead)?|r|foot))( .*)*?>"
+    - special: "&(#[[:digit:]]{1,4}|#x[[:xdigit:]]{1,4}|[^[[:space:]]]+);"
+    - symbol: "[:=]"
+    - identifier: "(alt|bgcolor|height|href|id|label|longdesc|name|on(click|focus|load|mouseover)|size|span|src|target|type|value|width)="
+    - constant.number: "(?i)#[0-9A-F]{6,6}"
+    # - default:
+    #     start: ">"
+    #     end: "<"
+    #     rules: []
+
+    - symbol.tag: "<|>"
+    - constant.string.url: "(ftp(s)?|http(s)?|git|chrome)://[^         ]+"
+    - preproc: "<!DOCTYPE.+?>"
+
+    - comment:
+        start: "<!--"
+        end: "-->"
+        rules: []
 
     - constant.string:
         start: "\""
         end: "\""
-        rules: []
+        skip: "\\\\."
+        rules:
+            - constant.specialChar: "\\\\."
 
     - default:
         start: "<script.*?>"
         end: "</script.*?>"
+        limit-group: symbol.tag
         rules:
             - include: "javascript"
 
     - default:
         start: "<style.*?>"
         end: "</style.*?>"
+        limit-group: symbol.tag
         rules:
             - include: "css"