{"information_for_contributors":["This file has been converted from https://github.com/dart-lang/dart-syntax-highlight/blob/master/grammars/dart.json","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/dart-lang/dart-syntax-highlight/commit/e8b053f9834cb44db0f49ac4a4567177bd943dbf","name":"Dart","scopeName":"source.dart","patterns":[{"name":"meta.preprocessor.script.dart","match":"^(#!.*)$"},{"name":"meta.declaration.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"}},"patterns":[{"include":"#strings"},{"include":"#comments"},{"name":"keyword.other.import.dart","match":"\\b(as|show|hide)\\b"},{"name":"keyword.control.dart","match":"\\b(if)\\b"}]},{"include":"#comments"},{"include":"#punctuation"},{"include":"#annotations"},{"include":"#keywords"},{"include":"#constants-and-special-vars"},{"include":"#operators"},{"include":"#strings"}],"repository":{"dartdoc":{"patterns":[{"match":"(\\[.*?\\])","captures":{"0":{"name":"variable.name.source.dart"}}},{"match":"^ {4,}(?![ \\*]).*","captures":{"0":{"name":"variable.name.source.dart"}}},{"contentName":"variable.other.source.dart","begin":"```.*?$","end":"```"},{"match":"(`[^`]+?`)","captures":{"0":{"name":"variable.other.source.dart"}}},{"match":"(\\* (( ).*))$","captures":{"2":{"name":"variable.other.source.dart"}}}]},"comments":{"patterns":[{"name":"comment.block.empty.dart","match":"/\\*\\*/","captures":{"0":{"name":"punctuation.definition.comment.dart"}}},{"include":"#comments-doc-oldschool"},{"include":"#comments-doc"},{"include":"#comments-inline"}]},"comments-doc-oldschool":{"patterns":[{"name":"comment.block.documentation.dart","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#comments-doc-oldschool"},{"include":"#comments-block"},{"include":"#dartdoc"}]}]},"comments-doc":{"patterns":[{"name":"comment.block.documentation.dart","begin":"///","while":"^\\s*///","patterns":[{"include":"#dartdoc"}]}]},"comments-inline":{"patterns":[{"include":"#comments-block"},{"match":"((//).*)$","captures":{"1":{"name":"comment.line.double-slash.dart"}}}]},"comments-block":{"patterns":[{"name":"comment.block.dart","begin":"/\\*","end":"\\*/","patterns":[{"include":"#comments-block"}]}]},"annotations":{"patterns":[{"name":"storage.type.annotation.dart","match":"@[a-zA-Z]+"}]},"constants-and-special-vars":{"patterns":[{"name":"constant.language.dart","match":"(??]|,\\s*|\\s+extends\\s+)+>)?[!?]?\\(","captures":{"1":{"name":"entity.name.function.dart"},"2":{"patterns":[{"include":"#type-args"}]}}}]},"type-args":{"begin":"(<)","end":"(>)","beginCaptures":{"1":{"name":"other.source.dart"}},"endCaptures":{"1":{"name":"other.source.dart"}},"patterns":[{"include":"#class-identifier"},{"match":","},{"name":"keyword.declaration.dart","match":"extends"},{"include":"#comments"}]},"keywords":{"patterns":[{"name":"keyword.cast.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","match":"(!|&&|\\|\\|)"}]},"expression":{"patterns":[{"include":"#constants-and-special-vars"},{"include":"#strings"},{"name":"variable.parameter.dart","match":"[a-zA-Z0-9_]+"},{"begin":"\\{","end":"\\}","patterns":[{"include":"#expression"}]}]},"string-interp":{"patterns":[{"name":"meta.embedded.expression.dart","match":"\\$([a-zA-Z0-9_]+)","captures":{"1":{"name":"variable.parameter.dart"}}},{"name":"meta.embedded.expression.dart","begin":"\\$\\{","end":"\\}","patterns":[{"include":"#expression"}]},{"name":"constant.character.escape.dart","match":"\\\\."}]},"strings":{"patterns":[{"name":"string.interpolated.triple.double.dart","begin":"(?