<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>