{ "displayName": "Dart", "name": "dart", "patterns": [ { "match": "^(#!.*)$", "name": "meta.preprocessor.script.dart" }, { "begin": "^\\w*\\b(augment\\s+library|library|import\\s+augment|import|part\\s+of|part|export)\\b", "beginCaptures": { "0": { "name": "keyword.other.import.dart" } }, "end": ";", "endCaptures": { "0": { "name": "punctuation.terminator.dart" } }, "name": "meta.declaration.dart", "patterns": [ { "include": "#strings" }, { "include": "#comments" }, { "match": "\\b(as|show|hide)\\b", "name": "keyword.other.import.dart" }, { "match": "\\b(if)\\b", "name": "keyword.control.dart" } ] }, { "include": "#comments" }, { "include": "#punctuation" }, { "include": "#annotations" }, { "include": "#keywords" }, { "include": "#constants-and-special-vars" }, { "include": "#operators" }, { "include": "#strings" } ], "repository": { "annotations": { "patterns": [ { "match": "@[A-Za-z]+", "name": "storage.type.annotation.dart" } ] }, "class-identifier": { "patterns": [ { "match": "(??A-Z_a-z]|,\\s*|\\s+extends\\s+)+>)?[!?]?\\(" } ] }, "keywords": { "patterns": [ { "match": "(?>>?|[\\&^|~])", "name": "keyword.operator.bitwise.dart" }, { "match": "(([\\&^|]|<<|>>>?)=)", "name": "keyword.operator.assignment.bitwise.dart" }, { "match": "(=>)", "name": "keyword.operator.closure.dart" }, { "match": "(==|!=|<=?|>=?)", "name": "keyword.operator.comparison.dart" }, { "match": "(([-%*+/~])=)", "name": "keyword.operator.assignment.arithmetic.dart" }, { "match": "(=)", "name": "keyword.operator.assignment.dart" }, { "match": "(--|\\+\\+)", "name": "keyword.operator.increment-decrement.dart" }, { "match": "([-*+/]|~/|%)", "name": "keyword.operator.arithmetic.dart" }, { "match": "(!|&&|\\|\\|)", "name": "keyword.operator.logical.dart" } ] }, "punctuation": { "patterns": [ { "match": ",", "name": "punctuation.comma.dart" }, { "match": ";", "name": "punctuation.terminator.dart" }, { "match": "\\.", "name": "punctuation.dot.dart" } ] }, "string-interp": { "patterns": [ { "captures": { "1": { "name": "variable.parameter.dart" } }, "match": "\\$([0-9A-Z_a-z]+)", "name": "meta.embedded.expression.dart" }, { "begin": "\\$\\{", "end": "}", "name": "meta.embedded.expression.dart", "patterns": [ { "include": "#expression" } ] }, { "match": "\\\\.", "name": "constant.character.escape.dart" } ] }, "strings": { "patterns": [ { "begin": "(?)", "endCaptures": { "1": { "name": "other.source.dart" } }, "patterns": [ { "include": "#class-identifier" }, { "match": "," }, { "match": "extends", "name": "keyword.declaration.dart" }, { "include": "#comments" } ] } }, "scopeName": "source.dart" }