| OLD | NEW |
| (Empty) |
| 1 { scopeName = 'source.dart'; | |
| 2 fileTypes = ( 'dart' ); | |
| 3 foldingStartMarker = '\{\s*$'; | |
| 4 foldingStopMarker = '^\s*\}'; | |
| 5 patterns = ( | |
| 6 { name = 'meta.preprocessor.script.dart'; | |
| 7 match = '^(#!.*)$'; | |
| 8 }, | |
| 9 { name = 'meta.declaration.dart'; | |
| 10 begin = '#\b(library|import|source|resource)\b'; | |
| 11 end = ';'; | |
| 12 beginCaptures = { 0 = { name = 'keyword.other.import.dar
t'; }; }; | |
| 13 endCaptures = { 0 = { name = 'punctuation.terminator.dar
t'; }; }; | |
| 14 patterns = ( | |
| 15 { include = '#strings'; }, | |
| 16 { match = '\b(prefix)\s*:'; | |
| 17 captures = { 1 = { name = 'keyword.other
.import.dart'; }; }; | |
| 18 }, | |
| 19 ); | |
| 20 }, | |
| 21 { include = '#comments'; }, | |
| 22 { include = '#constants-and-special-vars'; }, | |
| 23 { include = '#keywords'; }, | |
| 24 { include = '#strings'; }, | |
| 25 ); | |
| 26 repository = { | |
| 27 comments = { | |
| 28 patterns = ( | |
| 29 { name = 'comment.block.empty.dart'; | |
| 30 match = '/\*\*/'; | |
| 31 captures = { 0 = { name = 'punctuation.d
efinition.comment.dart'; }; }; | |
| 32 }, | |
| 33 { include = 'text.html.javadoc'; }, | |
| 34 { include = '#comments-inline'; }, | |
| 35 ); | |
| 36 }; | |
| 37 comments-inline = { | |
| 38 patterns = ( | |
| 39 { name = 'comment.block.dart'; | |
| 40 begin = '/\*'; | |
| 41 end = '\*/'; | |
| 42 }, | |
| 43 { match = '((//).*)$'; | |
| 44 captures = { 1 = { name = 'comment.line.
double-slash.dart'; }; }; | |
| 45 }, | |
| 46 ); | |
| 47 }; | |
| 48 constants-and-special-vars = { | |
| 49 patterns = ( | |
| 50 { name = 'constant.language.dart'; | |
| 51 match = '\b(true|false|null)\b'; | |
| 52 }, | |
| 53 { name = 'variable.language.dart'; | |
| 54 match = '\b(this|super)\b'; | |
| 55 }, | |
| 56 { name = 'constant.numeric.dart'; | |
| 57 match = '\b((0(x|X)[0-9a-fA-F]*)|(([0-9]
+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b'; | |
| 58 }, | |
| 59 ); | |
| 60 }; | |
| 61 keywords = { | |
| 62 patterns = ( | |
| 63 { name = 'keyword.cast.dart'; | |
| 64 match = '\bas\b'; | |
| 65 }, | |
| 66 { name = 'keyword.control.catch-exception.
dart'; | |
| 67 match = '\b(try|catch|finally|throw)\b'; | |
| 68 }, | |
| 69 { name = 'keyword.control.ternary.dart'; | |
| 70 match = '\?|:'; | |
| 71 }, | |
| 72 { name = 'keyword.control.dart'; | |
| 73 match = '\b(break|case|continue|default|
do|else|for|if|in|return|switch|while)\b'; | |
| 74 }, | |
| 75 { name = 'keyword.control.new.dart'; | |
| 76 match = '\b(new)\b'; | |
| 77 }, | |
| 78 { name = 'keyword.declaration.dart'; | |
| 79 match = '\b(abstract|class|extends|exter
nal|factory|implements|interface|get|native|operator|set|typedef)\b'; | |
| 80 }, | |
| 81 { name = 'keyword.operator.dart'; | |
| 82 match = '\b(is\!?)\b'; | |
| 83 }, | |
| 84 { name = 'keyword.operator.bitwise.dart'; | |
| 85 match = '(<<|>>>?|~|\^|\||&)'; | |
| 86 }, | |
| 87 { name = 'keyword.operator.assignment.bitw
ise.dart'; | |
| 88 match = '((&|\^|\||<<|>>>?)=)'; | |
| 89 }, | |
| 90 { name = 'keyword.operator.comparison.dart
'; | |
| 91 match = '(===?|!==?|<=?|>=?)'; | |
| 92 }, | |
| 93 { name = 'keyword.operator.assignment.arit
hmetic.dart'; | |
| 94 match = '(([+*/%-]|\~)=)'; | |
| 95 }, | |
| 96 { name = 'keyword.operator.assignment.dart
'; | |
| 97 match = '(=)'; | |
| 98 }, | |
| 99 { name = 'keyword.operator.increment-decre
ment.dart'; | |
| 100 match = '(\-\-|\+\+)'; | |
| 101 }, | |
| 102 { name = 'keyword.operator.arithmetic.dart
'; | |
| 103 match = '(\-|\+|\*|\/|\~\/|%)'; | |
| 104 }, | |
| 105 { name = 'keyword.operator.logical.dart'; | |
| 106 match = '(!|&&|\|\|)'; | |
| 107 }, | |
| 108 { name = 'punctuation.terminator.dart'; | |
| 109 match = ';'; | |
| 110 }, | |
| 111 { name = 'storage.modifier.dart'; | |
| 112 match = '\b(static|final|const)\b'; | |
| 113 }, | |
| 114 { name = 'storage.type.primitive.dart'; | |
| 115 match = '\b(?:void|bool|num|int|double|D
ynamic|var|String)\b'; | |
| 116 }, | |
| 117 ); | |
| 118 }; | |
| 119 string-interp = { | |
| 120 patterns = ( | |
| 121 { match = '\$((\w+)|\{(\w+)\})'; | |
| 122 captures = { | |
| 123 2 = { name = 'variable.parameter
.dart'; }; | |
| 124 3 = { name = 'variable.parameter
.dart'; }; | |
| 125 }; | |
| 126 }, | |
| 127 { name = 'constant.character.escape.dart'; | |
| 128 match = '\\.'; | |
| 129 }, | |
| 130 ); | |
| 131 }; | |
| 132 strings = { | |
| 133 patterns = ( | |
| 134 { name = 'string.interpolated.triple.dart'
; | |
| 135 begin = '(?<!@)"""'; | |
| 136 end = '"""(?!")'; | |
| 137 patterns = ( { include = '#string-interp
'; } ); | |
| 138 }, | |
| 139 { name = 'string.quoted.triple.dart'; | |
| 140 begin = '@"""'; | |
| 141 end = '"""(?!")'; | |
| 142 }, | |
| 143 { name = 'string.interpolated.double.dart'
; | |
| 144 begin = '(?<!\\|@)"'; | |
| 145 end = '"'; | |
| 146 patterns = ( | |
| 147 { name = 'invalid.string.n
ewline'; | |
| 148 match = '\n'; | |
| 149 }, | |
| 150 { include = '#string-inter
p'; }, | |
| 151 ); | |
| 152 }, | |
| 153 { name = 'string.quoted.double.dart'; | |
| 154 begin = '@"'; | |
| 155 end = '"'; | |
| 156 patterns = ( | |
| 157 { name = 'invalid.string.n
ewline'; | |
| 158 match = '\n'; | |
| 159 }, | |
| 160 ); | |
| 161 }, | |
| 162 { name = 'string.interpolated.single.dart'
; | |
| 163 begin = "(?<!\|@)'"; | |
| 164 end = "'"; | |
| 165 patterns = ( | |
| 166 { name = 'invalid.string.n
ewline'; | |
| 167 match = '\n'; | |
| 168 }, | |
| 169 { include = '#string-inter
p'; }, | |
| 170 ); | |
| 171 }, | |
| 172 { name = 'string.quoted.single.dart'; | |
| 173 begin = "@'"; | |
| 174 end = "'"; | |
| 175 patterns = ( | |
| 176 { name = 'invalid.string.n
ewline'; | |
| 177 match = '\n'; | |
| 178 }, | |
| 179 ); | |
| 180 }, | |
| 181 ); | |
| 182 }; | |
| 183 }; | |
| 184 } | |
| OLD | NEW |