diff --git a/Python/Python.tmLanguage b/Python/Python.tmLanguage index 458c8fe..dad5a38 100644 --- a/Python/Python.tmLanguage +++ b/Python/Python.tmLanguage @@ -42,71 +42,83 @@ punctuation.definition.comment.python + match (#).*$\n? name comment.line.number-sign.python + match \b(?i:(0x\h*)L) name constant.numeric.integer.long.hexadecimal.python + match \b(?i:(0x\h*)) name constant.numeric.integer.hexadecimal.python + match \b(?i:(0[0-7]+)L) name constant.numeric.integer.long.octal.python + match \b(0[0-7]+) name constant.numeric.integer.octal.python + match \b(?i:(((\d+(\.(?=[^a-zA-Z_])\d*)?|(?<=[^0-9a-zA-Z_])\.\d+)(e[\-\+]?\d+)?))J) name constant.numeric.complex.python + match \b(?i:(\d+\.\d*(e[\-\+]?\d+)?))(?=[^a-zA-Z_]) name constant.numeric.float.python + match (?<=[^0-9a-zA-Z_])(?i:(\.\d+(e[\-\+]?\d+)?)) name constant.numeric.float.python + match \b(?i:(\d+e[\-\+]?\d+)) name constant.numeric.float.python + match \b(?i:([1-9]+[0-9]*|0)L) name constant.numeric.integer.long.decimal.python + match \b([1-9]+[0-9_]*|0) name constant.numeric.integer.decimal.python + captures @@ -116,9 +128,11 @@ storage.modifier.global.python + match \b(global)\b + captures @@ -127,15 +141,18 @@ name keyword.control.import.python + 2 name keyword.control.import.from.python + match \b(?:(import)|(from))\b + comment keywords that delimit flow blocks or alter flow from within a block @@ -144,6 +161,7 @@ name keyword.control.flow.python + comment keyword operators that evaluate to True or False @@ -152,6 +170,7 @@ name keyword.operator.logical.python + captures @@ -161,41 +180,48 @@ keyword.other.python + comment keywords that haven't fit into other groups (yet). match \b(as|assert|del|exec|print)\b + match <> name invalid.deprecated.operator.python + match <\=|>\=|\=\=|<|>|\!\= name keyword.operator.comparison.python + match \+\=|-\=|\*\=|/\=|//\=|%\=|&\=|\|\=|\^\=|>>\=|<<\=|\*\*\= name keyword.operator.assignment.augmented.python + match \+|\-|\*|\*\*|/|//|%|<<|>>|&|\||\^|~ name keyword.operator.arithmetic.python + match \= name keyword.operator.assignment.python + begin ^\s*(class)\s+(?=[a-zA-Z_][a-zA-Z_0-9]*\s*\:) @@ -207,6 +233,7 @@ storage.type.class.python + contentName entity.name.type.class.python end @@ -219,6 +246,7 @@ punctuation.section.class.begin.python + name meta.class.old-style.python patterns @@ -229,6 +257,7 @@ + begin ^\s*(class)\s+(?=[a-zA-Z_][a-zA-Z_0-9]*\s*\() @@ -240,6 +269,7 @@ storage.type.class.python + end (\))\s*(?:(\:)|(.*$\n?)) endCaptures @@ -249,17 +279,20 @@ name punctuation.definition.inheritance.end.python + 2 name punctuation.section.class.begin.python + 3 name invalid.illegal.missing-section-begin.python + name meta.class.python patterns @@ -279,6 +312,7 @@ + begin (\() @@ -290,6 +324,7 @@ punctuation.definition.inheritance.begin.python + contentName meta.class.inheritance.python end @@ -311,6 +346,7 @@ punctuation.separator.inheritance.python + patterns @@ -323,6 +359,7 @@ + begin ^\s*(class)\s+(?=[a-zA-Z_][a-zA-Z_0-9]) @@ -334,6 +371,7 @@ storage.type.class.python + end (\()|\s*($\n?|#.*$\n?) endCaptures @@ -343,12 +381,14 @@ name punctuation.definition.inheritance.begin.python + 2 name invalid.illegal.missing-inheritance.python + name meta.class.python patterns @@ -370,6 +410,7 @@ + begin ^\s*(def)\s+(?=[A-Za-z_][A-Za-z0-9_]*\s*\() @@ -381,6 +422,7 @@ storage.type.function.python + end (\))\s*(?:(\:)|(.*$\n?)) endCaptures @@ -390,17 +432,20 @@ name punctuation.definition.parameters.end.python + 2 name punctuation.section.function.begin.python + 3 name invalid.illegal.missing-section-begin.python + name meta.function.python patterns @@ -420,6 +465,7 @@ + begin (\() @@ -431,6 +477,7 @@ punctuation.definition.parameters.begin.python + contentName meta.function.parameters.python end @@ -441,6 +488,7 @@ include #keyword_arguments + captures @@ -449,12 +497,14 @@ name variable.parameter.function.python + 2 name punctuation.separator.parameters.python + match \b([a-zA-Z_][a-zA-Z_0-9]*)\s*(?:(,)|(?=[\n\)])) @@ -462,6 +512,7 @@ + begin ^\s*(def)\s+(?=[A-Za-z_][A-Za-z0-9_]*) @@ -473,6 +524,7 @@ storage.type.function.python + end (\()|\s*($\n?|#.*$\n?) endCaptures @@ -482,12 +534,14 @@ name punctuation.definition.parameters.begin.python + 2 name invalid.illegal.missing-parameters.python + name meta.function.python patterns @@ -509,6 +563,7 @@ + begin (lambda)(?=\s+) @@ -520,6 +575,7 @@ storage.type.function.inline.python + end (\:) endCaptures @@ -529,17 +585,20 @@ name punctuation.definition.parameters.end.python + 2 name punctuation.section.function.begin.python + 3 name invalid.illegal.missing-section-begin.python + name meta.function.inline.python patterns @@ -557,6 +616,7 @@ include #keyword_arguments + captures @@ -565,12 +625,14 @@ name variable.parameter.function.python + 2 name punctuation.separator.parameters.python + match \b([a-zA-Z_][a-zA-Z_0-9]*)\s*(?:(,)|(?=[\n\)\:])) @@ -578,6 +640,7 @@ + begin ^\s*(?=@\s*[A-Za-z_][A-Za-z0-9_]*(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*\s*\() @@ -593,6 +656,7 @@ punctuation.definition.arguments.end.python + name meta.function.decorator.python patterns @@ -608,6 +672,7 @@ punctuation.definition.decorator.python + contentName entity.name.function.decorator.python end @@ -620,6 +685,7 @@ + begin (\() @@ -631,6 +697,7 @@ punctuation.definition.arguments.begin.python + contentName meta.function.decorator.arguments.python end @@ -641,6 +708,7 @@ include #keyword_arguments + include $self @@ -649,6 +717,7 @@ + begin ^\s*(?=@\s*[A-Za-z_][A-Za-z0-9_]*(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*) @@ -671,6 +740,7 @@ punctuation.definition.decorator.python + end (?=\s|$\n?|#) patterns @@ -683,6 +753,7 @@ + begin (?<=\)|\])\s*(\() @@ -694,6 +765,7 @@ punctuation.definition.arguments.begin.python + contentName meta.function-call.arguments.python end @@ -706,6 +778,7 @@ punctuation.definition.arguments.end.python + name meta.function-call.python patterns @@ -714,12 +787,14 @@ include #keyword_arguments + include $self + begin (?=[A-Za-z_][A-Za-z0-9_]*(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*\s*\() @@ -733,6 +808,7 @@ punctuation.definition.arguments.end.python + name meta.function-call.python patterns @@ -750,6 +826,7 @@ + begin (\() @@ -761,6 +838,7 @@ punctuation.definition.arguments.begin.python + contentName meta.function-call.arguments.python end @@ -771,6 +849,7 @@ include #keyword_arguments + include $self @@ -779,6 +858,7 @@ + begin (?=[A-Za-z_][A-Za-z0-9_]*(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*\s*\[) @@ -792,6 +872,7 @@ punctuation.definition.arguments.end.python + name meta.item-access.python patterns @@ -809,6 +890,7 @@ + begin (\[) @@ -820,6 +902,7 @@ punctuation.definition.arguments.begin.python + contentName meta.item-access.arguments.python end @@ -834,6 +917,7 @@ + begin (?<=\)|\])\s*(\[) @@ -845,6 +929,7 @@ punctuation.definition.arguments.begin.python + contentName meta.item-access.arguments.python end @@ -857,6 +942,7 @@ punctuation.definition.arguments.end.python + name meta.item-access.python patterns @@ -867,6 +953,7 @@ + captures @@ -876,9 +963,11 @@ storage.type.function.python + match \b(def|lambda)\b + captures @@ -888,35 +977,43 @@ storage.type.class.python + match \b(class)\b + include #line_continuation + include #language_variables + match \b(None|True|False|Ellipsis|NotImplemented)\b name constant.language.python + include #string_quoted_single + include #string_quoted_double + include #dotted_name + begin (\() @@ -930,6 +1027,7 @@ + captures @@ -938,20 +1036,24 @@ name punctuation.definition.list.begin.python + 2 name meta.empty-list.python + 3 name punctuation.definition.list.end.python + match (\[)(\s*(\]))\b + begin (\[) @@ -963,6 +1065,7 @@ punctuation.definition.list.begin.python + end (\]) endCaptures @@ -973,6 +1076,7 @@ punctuation.definition.list.end.python + name meta.structure.list.python patterns @@ -992,6 +1096,7 @@ punctuation.separator.list.python + patterns @@ -1002,6 +1107,7 @@ + captures @@ -1010,22 +1116,26 @@ name punctuation.definition.tuple.begin.python + 2 name meta.empty-tuple.python + 3 name punctuation.definition.tuple.end.python + match (\()(\s*(\))) name meta.structure.tuple.python + captures @@ -1034,22 +1144,26 @@ name punctuation.definition.dictionary.begin.python + 2 name meta.empty-dictionary.python + 3 name punctuation.definition.dictionary.end.python + match (\{)(\s*(\})) name meta.structure.dictionary.python + begin (\{) @@ -1061,6 +1175,7 @@ punctuation.definition.dictionary.begin.python + end (\}) endCaptures @@ -1071,6 +1186,7 @@ punctuation.definition.dictionary.end.python + name meta.structure.dictionary.python patterns @@ -1090,6 +1206,7 @@ punctuation.separator.valuepair.dictionary.python + patterns @@ -1098,6 +1215,7 @@ + begin (?<=\:|^)\s* @@ -1113,6 +1231,7 @@ punctuation.separator.dictionary.python + patterns @@ -1144,6 +1263,7 @@ name support.type.exception.python + builtin_functions match @@ -1157,6 +1277,7 @@ name support.function.builtin.python + builtin_types match @@ -1168,6 +1289,7 @@ name support.type.python + constant_placeholder match @@ -1175,6 +1297,7 @@ name constant.other.placeholder.python + docstrings patterns @@ -1194,6 +1317,7 @@ + begin ^\s*(?=[uU]?[rR]?''') @@ -1211,6 +1335,7 @@ + dotted_name begin @@ -1230,20 +1355,24 @@ include #magic_function_names + include #magic_variable_names + include #illegal_names + include #generic_names + begin (?<!\.)(?=[A-Za-z_][A-Za-z0-9_]*) @@ -1255,30 +1384,37 @@ include #builtin_functions + include #builtin_types + include #builtin_exceptions + include #illegal_names + include #magic_function_names + include #magic_variable_names + include #language_variables + include #generic_names @@ -1287,6 +1423,7 @@ + entity_name_class patterns @@ -1295,12 +1432,14 @@ include #illegal_names + include #generic_names + entity_name_function patterns @@ -1309,16 +1448,19 @@ include #magic_function_names + include #illegal_names + include #generic_names + escaped_char captures @@ -1328,70 +1470,84 @@ name constant.character.escape.hex.python + 10 name constant.character.escape.linefeed.python + 11 name constant.character.escape.return.python + 12 name constant.character.escape.tab.python + 13 name constant.character.escape.vertical-tab.python + 2 name constant.character.escape.octal.python + 3 name constant.character.escape.newline.python + 4 name constant.character.escape.backlash.python + 5 name constant.character.escape.double-quote.python + 6 name constant.character.escape.single-quote.python + 7 name constant.character.escape.bell.python + 8 name constant.character.escape.backspace.python + 9 name constant.character.escape.formfeed.python + match (\\x[0-9A-F]{2})|(\\[0-7]{3})|(\\\n)|(\\\\)|(\\\")|(\\')|(\\a)|(\\b)|(\\f)|(\\n)|(\\r)|(\\t)|(\\v) + escaped_unicode_char captures @@ -1401,20 +1557,24 @@ name constant.character.escape.unicode.16-bit-hex.python + 2 name constant.character.escape.unicode.32-bit-hex.python + 3 name constant.character.escape.unicode.name.python + match (\\U[0-9A-Fa-f]{8})|(\\u[0-9A-Fa-f]{4})|(\\N\{[a-zA-Z ]+\}) + function_name patterns @@ -1423,33 +1583,40 @@ include #magic_function_names + include #magic_variable_names + include #builtin_exceptions + include #builtin_functions + include #builtin_types + include #generic_names + generic_names match [A-Za-z_][A-Za-z0-9_]* + illegal_names match @@ -1457,6 +1624,7 @@ name invalid.illegal.name.python + keyword_arguments begin @@ -1468,12 +1636,14 @@ name variable.parameter.function.python + 2 name keyword.operator.assignment.python + end \s*(?:(,)|(?=$\n?|[\)\:])) endCaptures @@ -1484,6 +1654,7 @@ punctuation.separator.parameters.python + patterns @@ -1492,6 +1663,7 @@ + language_variables match @@ -1499,6 +1671,7 @@ name variable.language.python + line_continuation captures @@ -1508,15 +1681,18 @@ name punctuation.separator.continuation.line.python + 2 name invalid.illegal.unexpected-text.python + match (\\)(.*)$\n? + magic_function_names comment @@ -1536,6 +1712,7 @@ name support.function.magic.python + magic_variable_names comment @@ -1545,6 +1722,7 @@ name support.variable.magic.python + regular_expressions comment @@ -1559,6 +1737,7 @@ + string_quoted_double patterns @@ -1573,12 +1752,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment single quoted unicode-raw string end @@ -1590,12 +1771,14 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.double.python + name string.quoted.double.block.unicode-raw-regex.python patterns @@ -1604,20 +1787,24 @@ include #constant_placeholder + include #escaped_unicode_char + include #escaped_char + include #regular_expressions + begin ([uU]R)(""") @@ -1628,12 +1815,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment single quoted unicode-raw string without regular expression highlighting end @@ -1645,12 +1834,14 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.double.python + name string.quoted.double.block.unicode-raw.python patterns @@ -1659,16 +1850,19 @@ include #constant_placeholder + include #escaped_unicode_char + include #escaped_char + begin (r|rf|fr)(""") @@ -1679,12 +1873,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment double quoted raw string end @@ -1696,12 +1892,14 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.double.python + name string.quoted.double.block.raw-regex.python patterns @@ -1710,16 +1908,19 @@ include #constant_placeholder + include #escaped_char + include #regular_expressions + begin (R)(""") @@ -1730,12 +1931,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment double quoted raw string end @@ -1747,12 +1950,14 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.double.python + name string.quoted.double.block.raw.python patterns @@ -1761,12 +1966,14 @@ include #constant_placeholder + include #escaped_char + begin ([uU])(""") @@ -1777,12 +1984,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment double quoted unicode string end @@ -1794,12 +2003,14 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.double.python + name string.quoted.double.block.unicode.python patterns @@ -1808,16 +2019,19 @@ include #constant_placeholder + include #escaped_unicode_char + include #escaped_char + begin ([uU]r)(") @@ -1828,12 +2042,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment double-quoted raw string end @@ -1845,17 +2061,20 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.double.python + 3 name invalid.illegal.unclosed-string.python + name string.quoted.double.single-line.unicode-raw-regex.python patterns @@ -1864,20 +2083,24 @@ include #constant_placeholder + include #escaped_unicode_char + include #escaped_char + include #regular_expressions + begin ([uU]R)(") @@ -1888,12 +2111,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment double-quoted raw string end @@ -1905,17 +2130,20 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.double.python + 3 name invalid.illegal.unclosed-string.python + name string.quoted.double.single-line.unicode-raw.python patterns @@ -1924,16 +2152,19 @@ include #constant_placeholder + include #escaped_unicode_char + include #escaped_char + begin (r|rf|fr)(") @@ -1944,12 +2175,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment double-quoted raw string end @@ -1961,17 +2194,20 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.double.python + 3 name invalid.illegal.unclosed-string.python + name string.quoted.double.single-line.raw-regex.python patterns @@ -1980,16 +2216,19 @@ include #constant_placeholder + include #escaped_char + include #regular_expressions + begin (R)(") @@ -2000,12 +2239,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment double-quoted raw string end @@ -2017,17 +2258,20 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.double.python + 3 name invalid.illegal.unclosed-string.python + name string.quoted.double.single-line.raw.python patterns @@ -2036,12 +2280,14 @@ include #constant_placeholder + include #escaped_char + begin ([uU])(") @@ -2052,12 +2298,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment double quoted unicode string end @@ -2069,17 +2317,20 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.double.python + 3 name invalid.illegal.unclosed-string.python + name string.quoted.double.single-line.unicode.python patterns @@ -2088,16 +2339,19 @@ include #constant_placeholder + include #escaped_unicode_char + include #escaped_char + begin (""")(?=\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER)) @@ -2109,6 +2363,7 @@ punctuation.definition.string.begin.python + comment double quoted string end @@ -2120,12 +2375,14 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.double.python + name string.quoted.double.block.sql.python patterns @@ -2134,16 +2391,19 @@ include #constant_placeholder + include #escaped_char + include source.sql + begin (")(?=\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER)) @@ -2155,6 +2415,7 @@ punctuation.definition.string.begin.python + comment double quoted string end @@ -2166,17 +2427,20 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.double.python + 3 name invalid.illegal.unclosed-string.python + name string.quoted.double.single-line.sql.python patterns @@ -2185,16 +2449,19 @@ include #constant_placeholder + include #escaped_char + include source.sql + begin (""") @@ -2206,6 +2473,7 @@ punctuation.definition.string.begin.python + comment double quoted string end @@ -2217,12 +2485,14 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.double.python + name string.quoted.double.block.python patterns @@ -2231,12 +2501,14 @@ include #constant_placeholder + include #escaped_char + begin (") @@ -2248,6 +2520,7 @@ punctuation.definition.string.begin.python + comment double quoted string end @@ -2259,17 +2532,20 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.double.python + 3 name invalid.illegal.unclosed-string.python + name string.quoted.double.single-line.python patterns @@ -2278,6 +2554,7 @@ include #constant_placeholder + include #escaped_char @@ -2286,6 +2563,7 @@ + string_quoted_single patterns @@ -2298,22 +2576,26 @@ name punctuation.definition.string.begin.python + 2 name punctuation.definition.string.end.python + 3 name meta.empty-string.single.python + match (?<!')(')(('))(?!') name string.quoted.single.single-line.python + begin ([uU]r)(''') @@ -2324,12 +2606,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment single quoted unicode-raw string end @@ -2341,12 +2625,14 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.single.python + name string.quoted.single.block.unicode-raw-regex.python patterns @@ -2355,20 +2641,24 @@ include #constant_placeholder + include #escaped_unicode_char + include #escaped_char + include #regular_expressions + begin ([uU]R)(''') @@ -2379,12 +2669,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment single quoted unicode-raw string end @@ -2396,12 +2688,14 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.single.python + name string.quoted.single.block.unicode-raw.python patterns @@ -2410,16 +2704,19 @@ include #constant_placeholder + include #escaped_unicode_char + include #escaped_char + begin (r|rf|fr)(''') @@ -2430,12 +2727,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment single quoted raw string end @@ -2447,12 +2746,14 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.single.python + name string.quoted.single.block.raw-regex.python patterns @@ -2461,16 +2762,19 @@ include #constant_placeholder + include #escaped_char + include #regular_expressions + begin (R)(''') @@ -2481,12 +2785,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment single quoted raw string end @@ -2498,12 +2804,14 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.single.python + name string.quoted.single.block.raw.python patterns @@ -2512,12 +2820,14 @@ include #constant_placeholder + include #escaped_char + begin ([uU])(''') @@ -2528,12 +2838,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment single quoted unicode string end @@ -2545,12 +2857,14 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.single.python + name string.quoted.single.block.unicode.python patterns @@ -2559,16 +2873,19 @@ include #constant_placeholder + include #escaped_unicode_char + include #escaped_char + begin ([uU]r)(') @@ -2579,12 +2896,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment single quoted raw string end @@ -2596,12 +2915,14 @@ name punctuation.definition.string.end.python + 2 name invalid.illegal.unclosed-string.python + name string.quoted.single.single-line.unicode-raw-regex.python patterns @@ -2610,20 +2931,24 @@ include #constant_placeholder + include #escaped_unicode_char + include #escaped_char + include #regular_expressions + begin ([uU]R)(') @@ -2634,12 +2959,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment single quoted raw string end @@ -2651,12 +2978,14 @@ name punctuation.definition.string.end.python + 2 name invalid.illegal.unclosed-string.python + name string.quoted.single.single-line.unicode-raw.python patterns @@ -2665,16 +2994,19 @@ include #constant_placeholder + include #escaped_unicode_char + include #escaped_char + begin (r|rf|fr)(') @@ -2685,12 +3017,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment single quoted raw string end @@ -2702,12 +3036,14 @@ name punctuation.definition.string.end.python + 2 name invalid.illegal.unclosed-string.python + name string.quoted.single.single-line.raw-regex.python patterns @@ -2716,16 +3052,19 @@ include #constant_placeholder + include #escaped_char + include #regular_expressions + begin (R)(') @@ -2736,12 +3075,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment single quoted raw string end @@ -2753,12 +3094,14 @@ name punctuation.definition.string.end.python + 2 name invalid.illegal.unclosed-string.python + name string.quoted.single.single-line.raw.python patterns @@ -2767,12 +3110,14 @@ include #constant_placeholder + include #escaped_char + begin ([uU])(') @@ -2783,12 +3128,14 @@ name storage.type.string.python + 2 name punctuation.definition.string.begin.python + comment single quoted unicode string end @@ -2800,12 +3147,14 @@ name punctuation.definition.string.end.python + 2 name invalid.illegal.unclosed-string.python + name string.quoted.single.single-line.unicode.python patterns @@ -2814,16 +3163,19 @@ include #constant_placeholder + include #escaped_unicode_char + include #escaped_char + begin (''')(?=\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER)) @@ -2835,6 +3187,7 @@ punctuation.definition.string.begin.python + comment single quoted string end @@ -2846,12 +3199,14 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.single.python + name string.quoted.single.block.python patterns @@ -2860,16 +3215,19 @@ include #constant_placeholder + include #escaped_char + include source.sql + begin (')(?=\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER)) @@ -2881,6 +3239,7 @@ punctuation.definition.string.begin.python + comment single quoted string end @@ -2892,12 +3251,14 @@ name punctuation.definition.string.end.python + 2 name invalid.illegal.unclosed-string.python + name string.quoted.single.single-line.python patterns @@ -2906,16 +3267,19 @@ include #constant_placeholder + include #escaped_char + include source.sql + begin (''') @@ -2927,6 +3291,7 @@ punctuation.definition.string.begin.python + comment single quoted string end @@ -2938,12 +3303,14 @@ name punctuation.definition.string.end.python + 2 name meta.empty-string.single.python + name string.quoted.single.block.python patterns @@ -2952,12 +3319,14 @@ include #constant_placeholder + include #escaped_char + begin (') @@ -2969,6 +3338,7 @@ punctuation.definition.string.begin.python + comment single quoted string end @@ -2980,12 +3350,14 @@ name punctuation.definition.string.end.python + 2 name invalid.illegal.unclosed-string.python + name string.quoted.single.single-line.python patterns @@ -2994,6 +3366,7 @@ include #constant_placeholder + include #escaped_char @@ -3002,6 +3375,7 @@ + strings patterns @@ -3010,6 +3384,7 @@ include #string_quoted_double + include #string_quoted_single @@ -3017,6 +3392,7 @@ + scopeName source.python uuid