{ "name": "Dockerfile", "scopeName": "source.dockerfile", "patterns": [ { "name": "constant.character.escaped.dockerfile", "match": "\\\\." }, { "match": "^\\s*(?:(ONBUILD)\\s+)?(ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)\\s", "captures": { "1": { "name": "keyword.control.dockerfile" }, "2": { "name": "keyword.other.special-method.dockerfile" } } }, { "match": "^\\s*(?:(ONBUILD)\\s+)?(CMD|ENTRYPOINT)\\s", "captures": { "1": { "name": "keyword.operator.dockerfile" }, "2": { "name": "keyword.other.special-method.dockerfile" } } }, { "name": "string.quoted.double.dockerfile", "begin": "\"", "end": "\"", "patterns": [ { "name": "constant.character.escaped.dockerfile", "match": "\\\\." } ], "beginCaptures": { "1": { "name": "punctuation.definition.string.begin.dockerfile" } }, "endCaptures": { "1": { "name": "punctuation.definition.string.end.dockerfile" } } }, { "name": "string.quoted.single.dockerfile", "begin": "'", "end": "'", "patterns": [ { "name": "constant.character.escaped.dockerfile", "match": "\\\\." } ], "beginCaptures": { "1": { "name": "punctuation.definition.string.begin.dockerfile" } }, "endCaptures": { "1": { "name": "punctuation.definition.string.end.dockerfile" } } }, { "match": "^(\\s*)((#).*$\\n?)", "captures": { "1": { "name": "punctuation.whitespace.comment.leading.dockerfile" }, "2": { "name": "comment.line.number-sign.dockerfile" }, "3": { "name": "punctuation.definition.comment.dockerfile" } } } ] }