134 lines
5.2 KiB
XML
134 lines
5.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<language id="html" _name="HTML" version="2.0" _section="Markup">
|
|
<metadata>
|
|
<property name="mimetypes">text/html</property>
|
|
<property name="globs">*.html;*.htm</property>
|
|
<property name="block-comment-start"><!--</property>
|
|
<property name="block-comment-end">--></property>
|
|
</metadata>
|
|
|
|
<styles>
|
|
<style id="comment" _name="Comment"
|
|
map-to="xml:comment"/>
|
|
<style id="tag" _name="Tag"
|
|
map-to="xml:tags"/>
|
|
<style id="attrib-name" _name="Attribute Name"
|
|
map-to="xml:attribute-name"/>
|
|
<style id="attrib-value" _name="Attribute Value"
|
|
map-to="xml:attribute-value"/>
|
|
<style id="dtd" _name="DTD"
|
|
map-to="xml:doctype"/>
|
|
<style id="entity" _name="Entity"
|
|
map-to="xml:entity"/>
|
|
<style id="error" _name="Error"
|
|
map-to="xml:error"/>
|
|
</styles>
|
|
|
|
<default-regex-options>i</default-regex-options>
|
|
|
|
<definitions>
|
|
<context id="entity" style-ref="entity">
|
|
<match>&[a-z]+;</match>
|
|
</context>
|
|
|
|
<context id="generic-tag">
|
|
<include>
|
|
|
|
<!-- Attribute in the form: name="value" -->
|
|
<context id="attrib-quoted" style-ref="attrib-name">
|
|
<start extended="true">
|
|
[A-Za-z0-9:_-]+ # attribute name
|
|
\s*=\s* # "="
|
|
(\") # string beginning
|
|
</start>
|
|
<end>\"</end>
|
|
<include>
|
|
<context sub-pattern="1" where="start" style-ref="attrib-value"/>
|
|
<context sub-pattern="0" where="end" style-ref="attrib-value"/>
|
|
<context id="string" extend-parent="false" end-at-line-end="true" style-ref="attrib-value">
|
|
<start>\%{def:always-match}</start>
|
|
<include>
|
|
<context ref="entity"/>
|
|
</include>
|
|
</context>
|
|
</include>
|
|
</context>
|
|
|
|
<!-- Attribute in the form: name=value -->
|
|
<context id="attrib-unquoted" style-ref="attrib-value">
|
|
<start extended="true">
|
|
/
|
|
[a-z0-9:_-]+ # attribute name
|
|
\s*=\s* # "="
|
|
/xi
|
|
</start>
|
|
<end>(?=>|\s)</end>
|
|
<include>
|
|
<context sub-pattern="0" where="start" style-ref="attrib-name"/>
|
|
<context ref="entity"/>
|
|
</include>
|
|
</context>
|
|
|
|
<!-- Attribute in the form: name -->
|
|
<context id="attrib-no-value" style-ref="attrib-name">
|
|
<match extended="true">
|
|
/
|
|
[a-z0-9:_-]+ # attribute name
|
|
/xi
|
|
</match>
|
|
</context>
|
|
|
|
</include>
|
|
</context>
|
|
|
|
<context id="html">
|
|
<include>
|
|
|
|
<context id="comment" style-ref="xml:comment">
|
|
<start><!--</start>
|
|
<end>--></end>
|
|
<include>
|
|
<context ref="def:in-comment"/>
|
|
</include>
|
|
</context>
|
|
|
|
<context id="dtd" style-ref="dtd">
|
|
<start><!</start>
|
|
<end>></end>
|
|
</context>
|
|
|
|
<context ref="entity"/>
|
|
|
|
<context id="script">
|
|
<start><\s*script\%]</start>
|
|
<end><\s*/\s*script\s*></end>
|
|
|
|
<include>
|
|
<context sub-pattern="0" where="start" style-ref="tag"/>
|
|
<context sub-pattern="0" where="end" style-ref="tag"/>
|
|
<context ref="generic-tag"/>
|
|
<context id="js-code" extend-parent="false">
|
|
<start>></start>
|
|
<include>
|
|
<context sub-pattern="0" where="start" style-ref="tag"/>
|
|
<context ref="js:js"/>
|
|
</include>
|
|
</context>
|
|
</include>
|
|
</context>
|
|
|
|
<context id="tag">
|
|
<start><\s*/?\s*[a-z0-9_-]+</start>
|
|
<end>\/?\s*></end>
|
|
<include>
|
|
<context sub-pattern="0" where="start" style-ref="tag"/>
|
|
<context sub-pattern="0" where="end" style-ref="tag"/>
|
|
<context ref="generic-tag"/>
|
|
</include>
|
|
</context>
|
|
|
|
</include>
|
|
</context>
|
|
</definitions>
|
|
</language>
|