syntax "html" "\.html?$"
header ""
WARNING: "?[A-Za-z0-9_]+[ >]"
TAG: "?(a|abbr|address|area|article|aside|audio|b|base|bdo|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|eventsource|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|mark|map|menu|meta|meter|nav|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|ruby|rp|rt|samp|script|section|select|small|source|span|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|ul|var|video|wbr)[ >]"
STRING: "=([A-Za-z0-9!$%*\^(){}#|:;_~@+,.?/\\-]|\[|\])+"
OPERATOR: "="
+STRING
PLAIN: start=">" end="<"
TAG: "[<>]"
# Embedded template languages
VARIABLE: "\{\{[^}]*\}\}|<%=.*%>"
FUNCTION: start="<\?" end="\?>"
FUNCTION: start="<%[^=]" end="%>"
FUNCTION: start="\{%" end="%\}"
ESCAPE: "&(#[0-9]+|#x[0-9a-fA-F]+|[A-Za-z][A-Za-z0-9]*);"
COMMENT: start=""
COMMENT: "]*>"
+LINT