From e8bf2a22b6d1b10e36263bfed8f73877ba3dba0f Mon Sep 17 00:00:00 2001 From: Jeff Date: Wed, 2 May 2018 13:39:04 -0600 Subject: [PATCH] Rebuild grammar files from source repo --- .../scss/syntaxes/sassdoc.tmLanguage.json | 354 ++++++++++++++++++ extensions/scss/syntaxes/scss.tmLanguage.json | 29 +- 2 files changed, 382 insertions(+), 1 deletion(-) create mode 100644 extensions/scss/syntaxes/sassdoc.tmLanguage.json diff --git a/extensions/scss/syntaxes/sassdoc.tmLanguage.json b/extensions/scss/syntaxes/sassdoc.tmLanguage.json new file mode 100644 index 00000000000..030cda708d4 --- /dev/null +++ b/extensions/scss/syntaxes/sassdoc.tmLanguage.json @@ -0,0 +1,354 @@ +{ + "information_for_contributors": [ + "This file has been converted from https://github.com/atom/language-sass/blob/master/grammars/sassdoc.cson", + "If you want to provide a fix or improvement, please create a pull request against the original repository.", + "Once accepted there, we are happy to receive an update request." + ], + "version": "https://github.com/atom/language-sass/commit/303bbf0c250fe380b9e57375598cfd916110758b", + "name": "SassDoc", + "scopeName": "source.sassdoc", + "patterns": [ + { + "match": "(?x)\n((@)(?:access))\n\\s+\n(private|public)\n\\b", + "captures": { + "1": { + "name": "storage.type.class.sassdoc" + }, + "2": { + "name": "punctuation.definition.block.tag.sassdoc" + }, + "3": { + "name": "constant.language.access-type.sassdoc" + } + } + }, + { + "match": "(?x)\n((@)author)\n\\s+\n(\n [^@\\s<>*/]\n (?:[^@<>*/]|\\*[^/])*\n)\n(?:\n \\s*\n (<)\n ([^>\\s]+)\n (>)\n)?", + "captures": { + "1": { + "name": "storage.type.class.sassdoc" + }, + "2": { + "name": "punctuation.definition.block.tag.sassdoc" + }, + "3": { + "name": "entity.name.type.instance.sassdoc" + }, + "4": { + "name": "punctuation.definition.bracket.angle.begin.sassdoc" + }, + "5": { + "name": "constant.other.email.link.underline.sassdoc" + }, + "6": { + "name": "punctuation.definition.bracket.angle.end.sassdoc" + } + } + }, + { + "name": "meta.example.css.scss.sassdoc", + "begin": "(?x)\n((@)example)\n\\s+\n(css|scss)", + "end": "(?=@|///$)", + "beginCaptures": { + "1": { + "name": "storage.type.class.sassdoc" + }, + "2": { + "name": "punctuation.definition.block.tag.sassdoc" + }, + "3": { + "name": "variable.other.sassdoc" + } + }, + "patterns": [ + { + "match": "^///\\s+" + }, + { + "match": "[^\\s@*](?:[^*]|\\*[^/])*", + "captures": { + "0": { + "name": "source.embedded.css.scss", + "patterns": [ + { + "include": "source.css.scss" + } + ] + } + } + } + ] + }, + { + "name": "meta.example.html.sassdoc", + "begin": "(?x)\n((@)example)\n\\s+\n(markup)", + "end": "(?=@|///$)", + "beginCaptures": { + "1": { + "name": "storage.type.class.sassdoc" + }, + "2": { + "name": "punctuation.definition.block.tag.sassdoc" + }, + "3": { + "name": "variable.other.sassdoc" + } + }, + "patterns": [ + { + "match": "^///\\s+" + }, + { + "match": "[^\\s@*](?:[^*]|\\*[^/])*", + "captures": { + "0": { + "name": "source.embedded.html", + "patterns": [ + { + "include": "source.html" + } + ] + } + } + } + ] + }, + { + "name": "meta.example.js.sassdoc", + "begin": "(?x)\n((@)example)\n\\s+\n(javascript)", + "end": "(?=@|///$)", + "beginCaptures": { + "1": { + "name": "storage.type.class.sassdoc" + }, + "2": { + "name": "punctuation.definition.block.tag.sassdoc" + }, + "3": { + "name": "variable.other.sassdoc" + } + }, + "patterns": [ + { + "match": "^///\\s+" + }, + { + "match": "[^\\s@*](?:[^*]|\\*[^/])*", + "captures": { + "0": { + "name": "source.embedded.js", + "patterns": [ + { + "include": "source.js" + } + ] + } + } + } + ] + }, + { + "match": "(?x)\n((@)link)\n\\s+\n(?:\n # URL\n (\n (?=https?://)\n (?:[^\\s*]|\\*[^/])+\n )\n)", + "captures": { + "1": { + "name": "storage.type.class.sassdoc" + }, + "2": { + "name": "punctuation.definition.block.tag.sassdoc" + }, + "3": { + "name": "variable.other.link.underline.sassdoc" + }, + "4": { + "name": "entity.name.type.instance.sassdoc" + } + } + }, + { + "match": "(?x)\n(\n (@)\n (?:arg|argument|param|parameter|requires?|see|colors?|fonts?|ratios?|sizes?)\n)\n\\s+\n(\n [A-Za-z_$%]\n [\\-\\w$.\\[\\]]*\n)", + "captures": { + "1": { + "name": "storage.type.class.sassdoc" + }, + "2": { + "name": "punctuation.definition.block.tag.sassdoc" + }, + "3": { + "name": "variable.other.sassdoc" + } + } + }, + { + "begin": "((@)(?:arg|argument|param|parameter|prop|property|requires?|see|sizes?))\\s+(?={)", + "beginCaptures": { + "1": { + "name": "storage.type.class.sassdoc" + }, + "2": { + "name": "punctuation.definition.block.tag.sassdoc" + } + }, + "end": "(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])", + "patterns": [ + { + "include": "#sassdoctype" + }, + { + "match": "([A-Za-z_$%][\\-\\w$.\\[\\]]*)", + "name": "variable.other.sassdoc" + }, + { + "name": "variable.other.sassdoc", + "match": "(?x)\n(\\[)\\s*\n[\\w$]+\n(?:\n (?:\\[\\])? # Foo[].bar properties within an array\n \\. # Foo.Bar namespaced parameter\n [\\w$]+\n)*\n(?:\n \\s*\n (=) # [foo=bar] Default parameter value\n \\s*\n (\n # The inner regexes are to stop the match early at */ and to not stop at escaped quotes\n (?>\n \"(?:(?:\\*(?!/))|(?:\\\\(?!\"))|[^*\\\\])*?\" | # [foo=\"bar\"] Double-quoted\n '(?:(?:\\*(?!/))|(?:\\\\(?!'))|[^*\\\\])*?' | # [foo='bar'] Single-quoted\n \\[ (?:(?:\\*(?!/))|[^*])*? \\] | # [foo=[1,2]] Array literal\n (?:(?:\\*(?!/))|\\s(?!\\s*\\])|\\[.*?(?:\\]|(?=\\*/))|[^*\\s\\[\\]])* # Everything else (sorry)\n )*\n )\n)?\n\\s*(?:(\\])((?:[^*\\s]|\\*[^\\s/])+)?|(?=\\*/))", + "captures": { + "1": { + "name": "punctuation.definition.optional-value.begin.bracket.square.sassdoc" + }, + "2": { + "name": "keyword.operator.assignment.sassdoc" + }, + "3": { + "name": "source.embedded.js", + "patterns": [ + { + "include": "source.js" + } + ] + }, + "4": { + "name": "punctuation.definition.optional-value.end.bracket.square.sassdoc" + }, + "5": { + "name": "invalid.illegal.syntax.sassdoc" + } + } + } + ] + }, + { + "begin": "(?x)\n(\n (@)\n (?:returns?|throws?|exception|outputs?)\n)\n\\s+(?={)", + "beginCaptures": { + "1": { + "name": "storage.type.class.sassdoc" + }, + "2": { + "name": "punctuation.definition.block.tag.sassdoc" + } + }, + "end": "(?=\\s|[^{}\\[\\]A-Za-z_$])", + "patterns": [ + { + "include": "#sassdoctype" + } + ] + }, + { + "match": "(?x)\n(\n (@)\n (?:type)\n)\n\\s+\n(\n (?:\n [A-Za-z |]+\n )\n)", + "captures": { + "1": { + "name": "storage.type.class.sassdoc" + }, + "2": { + "name": "punctuation.definition.block.tag.sassdoc" + }, + "3": { + "name": "entity.name.type.instance.sassdoc", + "patterns": [ + { + "include": "#sassdoctypedelimiter" + } + ] + } + } + }, + { + "match": "(?x)\n(\n (@)\n (?:alias|group|name|requires?|see|icons?)\n)\n\\s+\n(\n (?:\n [^{}@\\s*] | \\*[^/]\n )+\n)", + "captures": { + "1": { + "name": "storage.type.class.sassdoc" + }, + "2": { + "name": "punctuation.definition.block.tag.sassdoc" + }, + "3": { + "name": "entity.name.type.instance.sassdoc" + } + } + }, + { + "name": "storage.type.class.sassdoc", + "match": "(?x)\n(@)\n(?:access|alias|author|content|deprecated|example|exception|group\n|ignore|name|prop|property|requires?|returns?|see|since|throws?|todo\n|type|outputs?)\n\\b", + "captures": { + "1": { + "name": "punctuation.definition.block.tag.sassdoc" + } + } + } + ], + "repository": { + "brackets": { + "patterns": [ + { + "begin": "{", + "end": "}|(?=$)", + "patterns": [ + { + "include": "#brackets" + } + ] + }, + { + "begin": "\\[", + "end": "\\]|(?=$)", + "patterns": [ + { + "include": "#brackets" + } + ] + } + ] + }, + "sassdoctypedelimiter": { + "match": "(\\|)", + "captures": { + "1": { + "name": "punctuation.definition.delimiter.sassdoc" + } + } + }, + "sassdoctype": { + "patterns": [ + { + "name": "invalid.illegal.type.sassdoc", + "match": "\\G{(?:[^}*]|\\*[^/}])+$" + }, + { + "begin": "\\G({)", + "beginCaptures": { + "0": { + "name": "entity.name.type.instance.sassdoc" + }, + "1": { + "name": "punctuation.definition.bracket.curly.begin.sassdoc" + } + }, + "contentName": "entity.name.type.instance.sassdoc", + "end": "((}))\\s*|(?=$)", + "endCaptures": { + "1": { + "name": "entity.name.type.instance.sassdoc" + }, + "2": { + "name": "punctuation.definition.bracket.curly.end.sassdoc" + } + }, + "patterns": [ + { + "include": "#brackets" + } + ] + } + ] + } + } +} \ No newline at end of file diff --git a/extensions/scss/syntaxes/scss.tmLanguage.json b/extensions/scss/syntaxes/scss.tmLanguage.json index 80c0c3ad84f..bf93c873ed3 100644 --- a/extensions/scss/syntaxes/scss.tmLanguage.json +++ b/extensions/scss/syntaxes/scss.tmLanguage.json @@ -4,7 +4,7 @@ "If you want to provide a fix or improvement, please create a pull request against the original repository.", "Once accepted there, we are happy to receive an update request." ], - "version": "https://github.com/atom/language-sass/commit/a07688bd078f420f56df6221e9263d80e738869b", + "version": "https://github.com/atom/language-sass/commit/804a935ea1d50504e14a7f602e2bb133fee8450c", "name": "SCSS", "scopeName": "source.css.scss", "patterns": [ @@ -505,6 +505,9 @@ "end": "\\s*(?={)", "name": "meta.at-rule.media.scss", "patterns": [ + { + "include": "#comment_docblock" + }, { "include": "#comment_block" }, @@ -842,6 +845,21 @@ } ] }, + "comment_docblock": { + "name": "comment.block.documentation.scss", + "begin": "///", + "beginCaptures": { + "0": { + "name": "punctuation.definition.comment.scss" + } + }, + "end": "(?=$)", + "patterns": [ + { + "include": "source.sassdoc" + } + ] + }, "comment_block": { "begin": "/\\*", "beginCaptures": { @@ -1005,6 +1023,9 @@ { "include": "#variable" }, + { + "include": "#comment_docblock" + }, { "include": "#comment_block" }, @@ -1069,6 +1090,9 @@ }, "name": "meta.definition.variable.map.scss", "patterns": [ + { + "include": "#comment_docblock" + }, { "include": "#comment_block" }, @@ -1672,6 +1696,9 @@ }, "end": "(?=;)", "patterns": [ + { + "include": "#comment_docblock" + }, { "include": "#comment_block" },