diff --git a/extensions/docker/package.json b/extensions/docker/package.json index 2ae8f80b059..0da40007bc6 100644 --- a/extensions/docker/package.json +++ b/extensions/docker/package.json @@ -3,6 +3,9 @@ "version": "0.1.0", "publisher": "vscode", "engines": { "vscode": "*" }, + "scripts": { + "update-grammar": "node ../../build/npm/update-grammar.js docker/docker contrib/syntax/textmate/Docker.tmbundle/Syntaxes/Dockerfile.tmLanguage ./syntaxes/docker.tmLanguage.json" + }, "contributes": { "languages": [{ "id": "dockerfile", @@ -14,7 +17,7 @@ "grammars": [{ "language": "dockerfile", "scopeName": "source.dockerfile", - "path": "./syntaxes/Dockerfile.tmLanguage" + "path": "./syntaxes/docker.tmLanguage.json" }] } } \ No newline at end of file diff --git a/extensions/docker/syntaxes/Dockerfile.tmLanguage b/extensions/docker/syntaxes/Dockerfile.tmLanguage deleted file mode 100644 index 948a9bfc206..00000000000 --- a/extensions/docker/syntaxes/Dockerfile.tmLanguage +++ /dev/null @@ -1,143 +0,0 @@ - - - - - fileTypes - - Dockerfile - - name - Dockerfile - patterns - - - captures - - 1 - - name - keyword.control.dockerfile - - 2 - - name - keyword.other.special-method.dockerfile - - - 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.operator.dockerfile - - 2 - - name - keyword.other.special-method.dockerfile - - - match - ^\s*(?:(ONBUILD)\s+)?(CMD|ENTRYPOINT)\s - - - begin - " - beginCaptures - - 1 - - name - punctuation.definition.string.begin.dockerfile - - - end - " - endCaptures - - 1 - - name - punctuation.definition.string.end.dockerfile - - - name - string.quoted.double.dockerfile - patterns - - - match - \\. - name - constant.character.escaped.dockerfile - - - - - begin - ' - beginCaptures - - 1 - - name - punctuation.definition.string.begin.dockerfile - - - end - ' - endCaptures - - 1 - - name - punctuation.definition.string.end.dockerfile - - - name - string.quoted.single.dockerfile - patterns - - - match - \\. - name - constant.character.escaped.dockerfile - - - - - captures - - 1 - - name - punctuation.whitespace.comment.leading.dockerfile - - 2 - - name - comment.line.number-sign.dockerfile - - 3 - - name - punctuation.definition.comment.dockerfile - - - comment - comment.line - match - ^(\s*)((#).*$\n?) - - - scopeName - source.dockerfile - uuid - a39d8795-59d2-49af-aa00-fe74ee29576e - - diff --git a/extensions/docker/syntaxes/docker.tmLanguage.json b/extensions/docker/syntaxes/docker.tmLanguage.json new file mode 100644 index 00000000000..619bc3f3f83 --- /dev/null +++ b/extensions/docker/syntaxes/docker.tmLanguage.json @@ -0,0 +1,90 @@ +{ + "fileTypes": [ + "Dockerfile" + ], + "name": "Dockerfile", + "patterns": [ + { + "captures": { + "1": { + "name": "keyword.control.dockerfile" + }, + "2": { + "name": "keyword.other.special-method.dockerfile" + } + }, + "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.operator.dockerfile" + }, + "2": { + "name": "keyword.other.special-method.dockerfile" + } + }, + "match": "^\\s*(?:(ONBUILD)\\s+)?(CMD|ENTRYPOINT)\\s" + }, + { + "begin": "\"", + "beginCaptures": { + "1": { + "name": "punctuation.definition.string.begin.dockerfile" + } + }, + "end": "\"", + "endCaptures": { + "1": { + "name": "punctuation.definition.string.end.dockerfile" + } + }, + "name": "string.quoted.double.dockerfile", + "patterns": [ + { + "match": "\\\\.", + "name": "constant.character.escaped.dockerfile" + } + ] + }, + { + "begin": "'", + "beginCaptures": { + "1": { + "name": "punctuation.definition.string.begin.dockerfile" + } + }, + "end": "'", + "endCaptures": { + "1": { + "name": "punctuation.definition.string.end.dockerfile" + } + }, + "name": "string.quoted.single.dockerfile", + "patterns": [ + { + "match": "\\\\.", + "name": "constant.character.escaped.dockerfile" + } + ] + }, + { + "captures": { + "1": { + "name": "punctuation.whitespace.comment.leading.dockerfile" + }, + "2": { + "name": "comment.line.number-sign.dockerfile" + }, + "3": { + "name": "punctuation.definition.comment.dockerfile" + } + }, + "comment": "comment.line", + "match": "^(\\s*)((#).*$\\n?)" + } + ], + "scopeName": "source.dockerfile", + "uuid": "a39d8795-59d2-49af-aa00-fe74ee29576e", + "version": "https://github.com/docker/docker/commit/4cb71f80823af345d063cf0ad657e73ce9caa75f" +} \ No newline at end of file