57 lines
1.7 KiB
XML
57 lines
1.7 KiB
XML
<lexer>
|
|
<config>
|
|
<name>Docker</name>
|
|
<alias>docker</alias>
|
|
<alias>dockerfile</alias>
|
|
<filename>Dockerfile</filename>
|
|
<filename>Dockerfile.*</filename>
|
|
<filename>*.Dockerfile</filename>
|
|
<filename>*.docker</filename>
|
|
<mime_type>text/x-dockerfile-config</mime_type>
|
|
<case_insensitive>true</case_insensitive>
|
|
</config>
|
|
<rules>
|
|
<state name="root">
|
|
<rule pattern="#.*">
|
|
<token type="Comment"/>
|
|
</rule>
|
|
<rule pattern="(ONBUILD)((?:\s*\\?\s*))">
|
|
<bygroups>
|
|
<token type="Keyword"/>
|
|
<using lexer="Bash"/>
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="(HEALTHCHECK)(((?:\s*\\?\s*)--\w+=\w+(?:\s*\\?\s*))*)">
|
|
<bygroups>
|
|
<token type="Keyword"/>
|
|
<using lexer="Bash"/>
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="(VOLUME|ENTRYPOINT|CMD|SHELL)((?:\s*\\?\s*))(\[.*?\])">
|
|
<bygroups>
|
|
<token type="Keyword"/>
|
|
<using lexer="Bash"/>
|
|
<using lexer="JSON"/>
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="(LABEL|ENV|ARG)((?:(?:\s*\\?\s*)\w+=\w+(?:\s*\\?\s*))*)">
|
|
<bygroups>
|
|
<token type="Keyword"/>
|
|
<using lexer="Bash"/>
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="((?:FROM|MAINTAINER|EXPOSE|WORKDIR|USER|STOPSIGNAL)|VOLUME)\b(.*)">
|
|
<bygroups>
|
|
<token type="Keyword"/>
|
|
<token type="LiteralString"/>
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="((?:RUN|CMD|ENTRYPOINT|ENV|ARG|LABEL|ADD|COPY))">
|
|
<token type="Keyword"/>
|
|
</rule>
|
|
<rule pattern="(.*\\\n)*.+">
|
|
<using lexer="Bash"/>
|
|
</rule>
|
|
</state>
|
|
</rules>
|
|
</lexer> |