Change:
It looks like Code is using 0.52.0 of to generate its Sass syntax — 0.62.0 was released today. It would be great to have the new fixes & features included. I'm happy to submit a PR with the re-generated syntax.
Thanks for the update! Just a heads-up though, the updated SCSS syntax references a separate file for SassDoc comment blocks. I updated the build script to account for the extra file in my PR:

Discussion:
{ "name": "scss", "displayName": "%displayName%", <del> "description": "%description%", </del> <ins> "description": "%description%", </ins> "version": "1.0.0", "publisher": "vscode", "engines": { "vscode": "*" }, "scripts": { <del> "update-grammar": "node ../../build/npm/update-grammar.js atom/language-sass grammars/scss.cson ./syntaxes/scss.tmLanguage.json" </del> <ins> "update-grammar": "node ../../build/npm/update-grammar.js atom/language-sass grammars/scss.cson ./syntaxes/scss.tmLanguage.json grammars/sassdoc.cson ./syntaxes/sassdoc.tmLanguage.json" </ins> }, "contributes": { "languages": [{

"language": "scss", "scopeName": "source.css.scss", "path": "./syntaxes/scss.tmLanguage.json" <ins> }, { "scopeName": "source.sassdoc", "path": "./syntaxes/sassdoc.tmLanguage.json" </ins> }], "problemMatchers": [{ "name": "node-sass",

] }] } <del> } </del>  No newline at end of file <ins> } </ins>

<ins> { "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))ns+n(private|public)nb", "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)ns+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)ns+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)ns+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)ns+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)ns+n(?:n  # URLn  (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)ns+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 arrayn  .                                                # Foo.Bar namespaced parametern  [w$]+n)*n(?:n  s*n  (=)                                                # [foo=bar] Default parameter valuen  s*n  (n    # The inner regexes are to stop the match early at */ and to not stop at escaped quotesn    (?>n      "(?:(?:*(?!/))|(?:(?!"))|[^*])*?" |  # [foo="bar"] Double-quotedn      '(?:(?:*(?!/))|(?:(?!'))|[^*])*?' |  # [foo='bar'] Single-quotedn      [ (?:(?:*(?!/))|[^*])*? ] |              # [foo=[1,2]] Array literaln      (?:(?:*(?!/))|s(?!s*])|[.*?(?:]|(?=*/))|[^*s[]])* # Everything else (sorry)n    )*n  )n)?ns*(?:(])((?:[^*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)ns+(?={)", "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)ns+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)ns+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|groupn|ignore|name|prop|property|requires?|returns?|see|since|throws?|todon|type|outputs?)nb", "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" } ] } ] } } } </ins>  No newline at end of file