Files
vscode/extensions/python/syntaxes/Python.tmLanguage
2016-04-21 11:42:21 +02:00

4032 lines
100 KiB
Plaintext

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>fileTypes</key>
<array>
<string>py</string>
<string>py3</string>
<string>rpy</string>
<string>pyw</string>
<string>cpy</string>
<string>SConstruct</string>
<string>Sconstruct</string>
<string>sconstruct</string>
<string>SConscript</string>
<string>gyp</string>
<string>gypi</string>
</array>
<key>firstLineMatch</key>
<string>^#!/.*\bpython\b</string>
<key>keyEquivalent</key>
<string>^~P</string>
<key>name</key>
<string>Python</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>(?&lt;!^from\s|^import\s)(\.{3})</string>
<key>name</key>
<string>support.type.ellipsis.python</string>
</dict>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
<dict>
<key>comment</key>
<string>Match identifiers in ALL_CAPS as constants, except when followed by `.`, `(`, `'`, or `"`.</string>
<key>match</key>
<string>\b([[:upper:]_][[:upper:][:digit:]_]*)\b(?![\.\(\'\"])</string>
<key>name</key>
<string>constant.other.allcaps.python</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(0x\h+)L)</string>
<key>name</key>
<string>constant.numeric.integer.hexadecimal.long.python</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(0x\h+))</string>
<key>name</key>
<string>constant.numeric.integer.hexadecimal.python</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(0b[01]+)L)</string>
<key>name</key>
<string>constant.numeric.integer.binary.long.python</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(0b[01]+))</string>
<key>name</key>
<string>constant.numeric.integer.binary.python</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(0[o]?[0-7]+)L)</string>
<key>name</key>
<string>constant.numeric.integer.octal.long.python</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(0[o]?[0-7]+))</string>
<key>name</key>
<string>constant.numeric.integer.octal.python</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(((\d+(\.(?=[^[:alpha:]_])\d*)?|(?&lt;=[^[:alnum:]_])\.\d+)(e[\-\+]?\d+)?))J)</string>
<key>name</key>
<string>constant.numeric.complex.python</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(\d+\.\d*(e[\-\+]?\d+)?))(?=[^[:alpha:]_])</string>
<key>name</key>
<string>constant.numeric.float.python</string>
</dict>
<dict>
<key>match</key>
<string>(?&lt;=[^[:alnum:]_])(?i:(\.\d+(e[\-\+]?\d+)?))</string>
<key>name</key>
<string>constant.numeric.float.python</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(\d+e[\-\+]?\d+))</string>
<key>name</key>
<string>constant.numeric.float.python</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:([1-9]+[0-9]*|0)L)</string>
<key>name</key>
<string>constant.numeric.integer.decimal.long.python</string>
</dict>
<dict>
<key>match</key>
<string>\b([1-9]+[0-9]*|0)</string>
<key>name</key>
<string>constant.numeric.integer.decimal.python</string>
</dict>
<dict>
<key>match</key>
<string>\b(None|True|False|Ellipsis|NotImplemented)\b</string>
<key>name</key>
<string>constant.language.python</string>
</dict>
<dict>
<key>match</key>
<string>\b(global|nonlocal)\b</string>
<key>name</key>
<string>storage.modifier.$1.python</string>
</dict>
<dict>
<key>match</key>
<string>\b(?:(import|from|as))\b</string>
<key>name</key>
<string>keyword.control.import.$1.python</string>
</dict>
<dict>
<key>comment</key>
<string>keyword operators that evaluate to True or False</string>
<key>match</key>
<string>\b(and|in|is|not|or)\b</string>
<key>name</key>
<string>keyword.operator.logical.python</string>
</dict>
<dict>
<key>comment</key>
<string>keywords that do not fit into other groups.</string>
<key>match</key>
<string>\b(assert|del)\b</string>
<key>name</key>
<string>keyword.other.python</string>
</dict>
<dict>
<key>match</key>
<string>&lt;&gt;</string>
<key>name</key>
<string>invalid.deprecated.operator.python</string>
</dict>
<dict>
<key>match</key>
<string>(?&lt;!\.)(apply|buffer|coerce|intern)\s*(?=\()</string>
<key>name</key>
<string>invalid.deprecated.function.python</string>
</dict>
<dict>
<key>match</key>
<string>&lt;\=|&gt;\=|\=\=|&lt;|&gt;|\!\=</string>
<key>name</key>
<string>keyword.operator.comparison.python</string>
</dict>
<dict>
<key>match</key>
<string>\+\=|-\=|\*\=|/\=|//\=|%\=|&amp;\=|\|\=|\^\=|&gt;&gt;\=|&lt;&lt;\=|\*\*\=|@\=</string>
<key>name</key>
<string>keyword.operator.assignment.augmented.python</string>
</dict>
<dict>
<key>match</key>
<string>\+|\-|\*|\*\*|/|//|%|&lt;&lt;|&gt;&gt;|&amp;|\||\^|~|(?!^)@</string>
<key>name</key>
<string>keyword.operator.arithmetic.python</string>
</dict>
<dict>
<key>match</key>
<string>\=</string>
<key>name</key>
<string>keyword.operator.assignment.python</string>
</dict>
<dict>
<key>begin</key>
<string>^\s*(class)\s+(?=[[:alpha:]_][[:alnum:]_]*\s*\:)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.class.python</string>
</dict>
</dict>
<key>contentName</key>
<string>entity.name.type.class.python</string>
<key>end</key>
<string>\s*(:)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.section.class.begin.python</string>
</dict>
</dict>
<key>name</key>
<string>meta.class.old-style.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#entity_name_class</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^\s*(class)\s+(?=[[:alpha:]_][[:alnum:]_]*\s*\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.class.python</string>
</dict>
</dict>
<key>end</key>
<string>(\))\s*(?:(\:)|(.*$\n?))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.inheritance.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.section.class.begin.python</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>invalid.illegal.missing-section-begin.python</string>
</dict>
</dict>
<key>name</key>
<string>meta.class.python</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?=[[:alpha:]_][[:alnum:]_]*)</string>
<key>contentName</key>
<string>entity.name.type.class.python</string>
<key>end</key>
<string>(?![[:alnum:]_])</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#entity_name_class</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.inheritance.begin.python</string>
</dict>
</dict>
<key>contentName</key>
<string>meta.class.inheritance.python</string>
<key>end</key>
<string>(?=\)|:)</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?&lt;=\(|,)\s*</string>
<key>contentName</key>
<string>entity.other.inherited-class.python</string>
<key>end</key>
<string>\s*(?:(,)|(?=\)))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.separator.inheritance.python</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^\s*(class)\s+(?=[[:alpha:]_][[:alnum:]_]*)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.class.python</string>
</dict>
</dict>
<key>end</key>
<string>(\()|(\s*$\n?|#.*$\n?)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.inheritance.begin.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.missing-inheritance.python</string>
</dict>
</dict>
<key>name</key>
<string>meta.class.python</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?=[[:alpha:]_][[:alnum:]_]*)</string>
<key>contentName</key>
<string>entity.name.type.class.python</string>
<key>end</key>
<string>(?![[:alnum:]_])</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#entity_name_function</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\s*(?:(async)\s+)?(def)\s+(?=[[:alpha:]_][[:alnum:]_]*\s*\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.modifier.async.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>storage.type.function.python</string>
</dict>
</dict>
<key>end</key>
<string>(\:)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.section.function.begin.python</string>
</dict>
</dict>
<key>name</key>
<string>meta.function.python</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?=[[:alpha:]_][[:alnum:]_]*)</string>
<key>contentName</key>
<string>entity.name.function.python</string>
<key>end</key>
<string>(?![[:alnum:]_])</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#entity_name_function</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.begin.python</string>
</dict>
</dict>
<key>contentName</key>
<string>meta.function.parameters.python</string>
<key>end</key>
<string>(?=\)\s*(?:\:|-\&gt;))</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#annotated_arguments</string>
</dict>
<dict>
<key>include</key>
<string>#keyword_arguments</string>
</dict>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>variable.parameter.function.language.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>variable.parameter.function.python</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.separator.parameters.python</string>
</dict>
</dict>
<key>match</key>
<string>\b(?:(self|cls)|([[:alpha:]_][[:alnum:]_]*))\s*(?:(,)|(?=[\n\)]))</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(\))\s*(\-&gt;)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.separator.annotation.result.python</string>
</dict>
</dict>
<key>end</key>
<string>(?=\:)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\s*(?:(async)\s+)?(def)\s+(?=[[:alpha:]_][[:alnum:]_]*)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.modifier.async.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>storage.type.function.python</string>
</dict>
</dict>
<key>end</key>
<string>(\()|\s*($\n?|#.*$\n?)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.begin.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.missing-parameters.python</string>
</dict>
</dict>
<key>name</key>
<string>meta.function.python</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?=[[:alpha:]_][[:alnum:]_]*)</string>
<key>contentName</key>
<string>entity.name.function.python</string>
<key>end</key>
<string>(?![[:alnum:]_])</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#entity_name_function</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.modifier.async.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>storage.type.function.python</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>storage.type.function.python</string>
</dict>
</dict>
<key>match</key>
<string>\b(?:(?:(async)\s+)?(def)|(lambda))\b</string>
</dict>
<dict>
<key>comment</key>
<string>Keywords that delimit flow blocks or alter flow from within a
block.
This block should be matched *after* meta.function.python to
let 'async def' be matched *first*.
</string>
<key>match</key>
<string>(?x) \b(
async | await | break | continue | elif | else | except | finally | for |
if | pass | raise | return | try | while | with |
(yield(?:\s+from)?)
)\b
</string>
<key>name</key>
<string>keyword.control.flow.python</string>
</dict>
<dict>
<key>begin</key>
<string>(lambda)(?=\s+|:)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.function.inline.python</string>
</dict>
</dict>
<key>end</key>
<string>(\:)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.section.function.begin.python</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>invalid.illegal.missing-section-begin.python</string>
</dict>
</dict>
<key>name</key>
<string>meta.function.inline.python</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>\s+</string>
<key>contentName</key>
<string>meta.function.inline.parameters.python</string>
<key>end</key>
<string>(?=\:)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#keyword_arguments</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>variable.parameter.function.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.separator.parameters.python</string>
</dict>
</dict>
<key>match</key>
<string>\b([[:alpha:]_][[:alnum:]_]*)\s*(?:(,)|(?=[\n\)\:]))</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^\s*(?=@\s*[[:alpha:]_][[:alnum:]_]*(?:\s*\.\s*[[:alpha:]_][[:alnum:]_]*)*\s*\()</string>
<key>comment</key>
<string>a decorator may be a function call which returns a decorator.</string>
<key>end</key>
<string>(\))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.end.python</string>
</dict>
</dict>
<key>name</key>
<string>meta.function.decorator.python</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?=(@)\s*[[:alpha:]_][[:alnum:]_]*(?:\s*\.\s*[[:alpha:]_][[:alnum:]_]*)*\s*\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.decorator.python</string>
</dict>
</dict>
<key>contentName</key>
<string>entity.name.function.decorator.python</string>
<key>end</key>
<string>(?=\s*\()</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#dotted_name</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.begin.python</string>
</dict>
</dict>
<key>contentName</key>
<string>meta.function.decorator.arguments.python</string>
<key>end</key>
<string>(?=\))</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#keyword_arguments</string>
</dict>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^\s*(?=@\s*[[:alpha:]_][[:alnum:]_]*(?:\s*\.\s*[[:alpha:]_][[:alnum:]_]*)*)</string>
<key>contentName</key>
<string>entity.name.function.decorator.python</string>
<key>end</key>
<string>(?=\s|$\n?|#)</string>
<key>name</key>
<string>meta.function.decorator.python</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?=(@)\s*[[:alpha:]_][[:alnum:]_]*(\s*\.\s*[[:alpha:]_][[:alnum:]_]*)*)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.decorator.python</string>
</dict>
</dict>
<key>end</key>
<string>(?=\s|$\n?|#)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#dotted_name</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;=\)|\])\s*(\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.begin.python</string>
</dict>
</dict>
<key>contentName</key>
<string>meta.function-call.arguments.python</string>
<key>end</key>
<string>(\))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.end.python</string>
</dict>
</dict>
<key>name</key>
<string>meta.function-call.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#keyword_arguments</string>
</dict>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<dict>
<key>include</key>
<string>#builtin_types</string>
</dict>
<dict>
<key>include</key>
<string>#builtin_functions_name</string>
</dict>
<dict>
<key>include</key>
<string>#builtin_functions_call</string>
</dict>
<dict>
<key>include</key>
<string>#errors_warnings_exceptions</string>
</dict>
<dict>
<key>include</key>
<string>#magic_function_names</string>
</dict>
<dict>
<key>include</key>
<string>#magic_function_calls</string>
</dict>
<dict>
<key>include</key>
<string>#docstrings</string>
</dict>
<dict>
<key>include</key>
<string>#magic_variable_names</string>
</dict>
<dict>
<key>begin</key>
<string>\b(self|cls)\b\s*(?=(\())</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>variable.language.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.begin.python</string>
</dict>
</dict>
<key>end</key>
<string>(\))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.end.python</string>
</dict>
</dict>
<key>name</key>
<string>meta.function-call.python</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.begin.python</string>
</dict>
</dict>
<key>contentName</key>
<string>meta.function-call.arguments.python</string>
<key>end</key>
<string>(?=(\)))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.end.python</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#keyword_arguments</string>
</dict>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>include</key>
<string>#language_variables</string>
</dict>
<dict>
<key>include</key>
<string>#generic_object_names</string>
</dict>
<dict>
<key>begin</key>
<string>(?:\.)?([[:alpha:]_][[:alnum:]_]*)\s*(?=(\())</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>meta.function-call.generic.python</string>
</dict>
</dict>
<key>end</key>
<string>(\))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.end.python</string>
</dict>
</dict>
<key>name</key>
<string>meta.function-call.python</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.begin.python</string>
</dict>
</dict>
<key>contentName</key>
<string>meta.function-call.arguments.python</string>
<key>end</key>
<string>(?=\))</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#keyword_arguments</string>
</dict>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>comment</key>
<string>Py2 print statement that should only be matched after function calls</string>
<key>match</key>
<string>(?&lt;!\.)\b(print)(?=\s|$)</string>
<key>name</key>
<string>keyword.other.print.python</string>
</dict>
<dict>
<key>begin</key>
<string>(?=[[:alpha:]_][[:alnum:]_]*(?:\s*\.\s*[[:alpha:]_][[:alnum:]_]*)*\s*\[)</string>
<key>end</key>
<string>(\])</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.end.python</string>
</dict>
</dict>
<key>name</key>
<string>meta.item-access.python</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?=[[:alpha:]_][[:alnum:]_]*(?:\s*\.\s*[[:alpha:]_][[:alnum:]_]*)*\s*\[)</string>
<key>end</key>
<string>(?=\s*\[)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#dotted_name</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(\[)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.begin.python</string>
</dict>
</dict>
<key>contentName</key>
<string>meta.item-access.arguments.python</string>
<key>end</key>
<string>(?=\])</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\G</string>
<key>end</key>
<string>(?=\[)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#dotted_name</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.class.python</string>
</dict>
</dict>
<key>match</key>
<string>\b(class)\b</string>
</dict>
<dict>
<key>include</key>
<string>#line_continuation</string>
</dict>
<dict>
<key>include</key>
<string>#string_quoted_single</string>
</dict>
<dict>
<key>include</key>
<string>#string_quoted_double</string>
</dict>
<dict>
<key>include</key>
<string>#dotted_name</string>
</dict>
<dict>
<key>begin</key>
<string>(\()</string>
<key>end</key>
<string>(\))</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.list.begin.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>meta.empty-list.python</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.list.end.python</string>
</dict>
</dict>
<key>match</key>
<string>(\[)(\s*(\]))\b</string>
</dict>
<dict>
<key>begin</key>
<string>(\[)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.list.begin.python</string>
</dict>
</dict>
<key>end</key>
<string>(\])</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.list.end.python</string>
</dict>
</dict>
<key>name</key>
<string>meta.structure.list.python</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?&lt;=\[|\,)\s*(?![\],])</string>
<key>contentName</key>
<string>meta.structure.list.item.python</string>
<key>end</key>
<string>\s*(?:(,)|(?=\]))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.separator.list.python</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.tuple.begin.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>meta.empty-tuple.python</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.tuple.end.python</string>
</dict>
</dict>
<key>match</key>
<string>(\()(\s*(\)))</string>
<key>name</key>
<string>meta.structure.tuple.python</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.dictionary.begin.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>meta.empty-dictionary.python</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.dictionary.end.python</string>
</dict>
</dict>
<key>match</key>
<string>(\{)(\s*(\}))</string>
<key>name</key>
<string>meta.structure.dictionary.python</string>
</dict>
<dict>
<key>begin</key>
<string>(\{)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.dictionary.begin.python</string>
</dict>
</dict>
<key>end</key>
<string>(\})</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.dictionary.end.python</string>
</dict>
</dict>
<key>name</key>
<string>meta.structure.dictionary.python</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?&lt;=\{|\,|^)\s*(?![\},])</string>
<key>contentName</key>
<string>meta.structure.dictionary.key.python</string>
<key>end</key>
<string>\s*(?:(?=\})|(\:))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.separator.valuepair.dictionary.python</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;=\:|^)\s*</string>
<key>contentName</key>
<string>meta.structure.dictionary.value.python</string>
<key>end</key>
<string>\s*(?:(?=\})|(,))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.separator.dictionary.python</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
</array>
</dict>
</array>
<key>repository</key>
<dict>
<key>annotated_arguments</key>
<dict>
<key>begin</key>
<string>\b([[:alpha:]_][[:alnum:]_]*)\s*(:)|(?=\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>variable.parameter.function.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.separator.annotation.python</string>
</dict>
</dict>
<key>end</key>
<string>\s*(?:(,)|(?=$\n?|[\)\:]))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.separator.parameters.python</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#annotated_group</string>
</dict>
<dict>
<key>match</key>
<string>=</string>
<key>name</key>
<string>keyword.operator.assignment.python</string>
</dict>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<key>annotated_group</key>
<dict>
<key>begin</key>
<string>(\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters-group.begin.python</string>
</dict>
</dict>
<key>end</key>
<string>(\))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters-group.end.python</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>\b([[:alpha:]_][[:alnum:]_]*)\s*(:)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>variable.parameter.function.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.separator.annotation.python</string>
</dict>
</dict>
<key>end</key>
<string>\s*(?:(,)|(?=$\n?|\)))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.separator.parameters.python</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\b([[:alpha:]_][[:alnum:]_]*)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>variable.parameter.function.python</string>
</dict>
</dict>
<key>end</key>
<string>\s*(?:(,)|(?=$\n?|\)))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.separator.parameters.python</string>
</dict>
</dict>
</dict>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
</array>
</dict>
<key>builtin_functions_call</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?x)
(?&lt;!\.)\b(
__import__ | abs | all | any | ascii | basestring | bin | bool |
bytearray | bytes | callable | chr | classmethod | cmp | compile |
complex | delattr | dict | dir | divmod | enumerate | eval | exec |
execfile | file | filter | float | format | frozenset | getattr |
globals | hasattr | hash | help | hex | id | input | int |
isinstance | issubclass | iter | len | list | locals | long | map |
max | memoryview | min | next | object | oct | open | ord | pow |
print | property | range | raw_input | reduce | reload | repr |
reversed | round | set | setattr | slice | sorted | staticmethod |
str | sum | super | tuple | type | unichr | unicode | vars |
xrange | zip)
\b\s*(?=\()
</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>support.function.builtin.call.python</string>
</dict>
</dict>
<key>end</key>
<string>(\))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.end.python</string>
</dict>
</dict>
<key>name</key>
<string>meta.function-call.python</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?=[[:alpha:]_][[:alnum:]_]*(?:\s*\.\s*[[:alpha:]_][[:alnum:]_]*)*\s*\()</string>
<key>end</key>
<string>(?=\s*\()</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#dotted_name</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.begin.python</string>
</dict>
</dict>
<key>contentName</key>
<string>meta.function-call.arguments.python</string>
<key>end</key>
<string>(?=\))</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#keyword_arguments</string>
</dict>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
</array>
</dict>
</array>
</dict>
<key>builtin_functions_name</key>
<dict>
<key>match</key>
<string>(?x)
(?&lt;!\.|@)
\b(
__import__ | abs | all | any | ascii | basestring | bin | bool |
bytearray | bytes | callable | chr | classmethod | cmp | compile |
complex | delattr | dict | dir | divmod | enumerate | eval | exec |
execfile | file | filter | float | format | frozenset | getattr |
globals | hasattr | hash | help | hex | id | input | int |
isinstance | issubclass | iter | len | list | locals | long | map |
max | memoryview | min | next | object | oct | open | ord | pow |
property | range | raw_input | reduce | reload | repr |
reversed | round | set | setattr | slice | sorted | staticmethod |
str | sum | super | tuple | type | unichr | unicode | vars |
xrange | zip)
\b\s*(?!(\())</string>
<key>name</key>
<string>support.function.builtin.name.python</string>
</dict>
<key>builtin_types</key>
<dict>
<key>comment</key>
<string>These are from https://docs.python.org/X/library/stdtypes.html
where X is 2.7 or 3.5.</string>
<key>match</key>
<string>(?x)
(?&lt;!\.)
\b(
bool | buffer | bytearray | bytes | complex | dict | float |
frozenset | int | list | long | memoryview | object | property |
range | set | slice | str | tuple | type | unicode | xrange)
\b(?!(\s*\())</string>
<key>name</key>
<string>support.type.python</string>
</dict>
<key>comment</key>
<dict>
<key>begin</key>
<string>(^[ \t]+)?(?=#)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.whitespace.comment.leading.python</string>
</dict>
</dict>
<key>end</key>
<string>(?!\G)</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>#</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.python</string>
</dict>
</dict>
<key>end</key>
<string>\n</string>
<key>name</key>
<string>comment.line.number-sign.python</string>
</dict>
</array>
</dict>
<key>constant_placeholder</key>
<dict>
<key>match</key>
<string>(?i:(%(\([[:lower:]_]+\))?#?0?\-?[ ]?\+?([0-9]*|\*)(\.([0-9]*|\*))?[hL]?[[:lower:]%])|(\{([!\[\].:\w ]+)?\}))</string>
<key>name</key>
<string>constant.other.placeholder.python</string>
</dict>
<key>docstrings</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>^\s*(?=[uU]?[rR]?""")</string>
<key>end</key>
<string>(?&lt;=""")</string>
<key>name</key>
<string>comment.block.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#string_quoted_double</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^\s*(?=[uU]?[rR]?''')</string>
<key>end</key>
<string>(?&lt;=''')</string>
<key>name</key>
<string>comment.block.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#string_quoted_single</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>dotted_name</key>
<dict>
<key>begin</key>
<string>(?=(?:\.(?!\s+import)\s*)?[[:alpha:]_][[:alnum:]_]*(?:\s*\.\s*[[:alpha:]_][[:alnum:]_]*)*)</string>
<key>end</key>
<string>(?![[:alnum:]_\.\s])|(?=(?&lt;!\.)\s+[^.])|$</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(\.)(?=[[:alpha:]_][[:alnum:]_]*)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>meta.dot.python</string>
</dict>
</dict>
<key>end</key>
<string>(?![[:alnum:]_])</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#builtin_functions_name</string>
</dict>
<dict>
<key>include</key>
<string>#magic_function_names</string>
</dict>
<dict>
<key>include</key>
<string>#magic_variable_names</string>
</dict>
<dict>
<key>include</key>
<string>#generic_names</string>
</dict>
<dict>
<key>include</key>
<string>#illegal_names</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;!\.)(?=[[:alpha:]_][[:alnum:]_]*)</string>
<key>end</key>
<string>(?![[:alnum:]_])</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#builtin_types</string>
</dict>
<dict>
<key>include</key>
<string>#builtin_functions_name</string>
</dict>
<dict>
<key>include</key>
<string>#builtin_functions_call</string>
</dict>
<dict>
<key>include</key>
<string>#errors_warnings_exceptions</string>
</dict>
<dict>
<key>include</key>
<string>#magic_function_names</string>
</dict>
<dict>
<key>include</key>
<string>#magic_function_calls</string>
</dict>
<dict>
<key>include</key>
<string>#magic_variable_names</string>
</dict>
<dict>
<key>include</key>
<string>#language_variables</string>
</dict>
<dict>
<key>include</key>
<string>#generic_names</string>
</dict>
<dict>
<key>include</key>
<string>#illegal_names</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>entity_name_class</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#generic_names</string>
</dict>
<dict>
<key>include</key>
<string>#illegal_names</string>
</dict>
</array>
</dict>
<key>entity_name_function</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#builtin_functions_name</string>
</dict>
<dict>
<key>include</key>
<string>#magic_function_names</string>
</dict>
<dict>
<key>include</key>
<string>#illegal_names</string>
</dict>
</array>
</dict>
<key>errors_warnings_exceptions</key>
<dict>
<key>match</key>
<string>(?x)
\b(
(
Arithmetic | Assertion | Attribute | Buffer | BlockingIO |
BrokenPipe | ChildProcess | (Connection(Aborted | Refused | Reset)?) |
EOF | Environment | FileExists | FileNotFound | FloatingPoint | IO |
Import | Indentation | Index | Interrupted | IsADirectory |
NotADirectory | Permission | ProcessLookup | Timeout | Key | Lookup |
Memory | Name | NotImplemented | OS | Overflow | Reference | Runtime |
Recursion | Standard | Syntax | System | Tab | Type | UnboundLocal |
Unicode(Encode | Decode | Translate)? | Value | VMS | Windows |
ZeroDivision | ([[:alpha:]_][[:alnum:]_]*))
?Error
|
(
(Pending)?Deprecation | Bytes | Future | Import | Resource |
Runtime | Syntax | Unicode | User | [[:alpha:]_][[:alnum:]_]*)
?Warning
|
SystemExit | Stop(Async)?Iteration | NotImplemented |
KeyboardInterrupt | GeneratorExit
|
([[:alpha:]_][[:alnum:]_]*)
?Exception
)
\b</string>
<key>name</key>
<string>support.type.exception.python</string>
</dict>
<key>escaped_char</key>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>constant.character.escape.hex.python</string>
</dict>
<key>10</key>
<dict>
<key>name</key>
<string>constant.character.escape.linefeed.python</string>
</dict>
<key>11</key>
<dict>
<key>name</key>
<string>constant.character.escape.return.python</string>
</dict>
<key>12</key>
<dict>
<key>name</key>
<string>constant.character.escape.tab.python</string>
</dict>
<key>13</key>
<dict>
<key>name</key>
<string>constant.character.escape.vertical-tab.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>constant.character.escape.octal.python</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>constant.character.escape.newline.python</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>constant.character.escape.backslash.python</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>constant.character.escape.double-quote.python</string>
</dict>
<key>6</key>
<dict>
<key>name</key>
<string>constant.character.escape.single-quote.python</string>
</dict>
<key>7</key>
<dict>
<key>name</key>
<string>constant.character.escape.bell.python</string>
</dict>
<key>8</key>
<dict>
<key>name</key>
<string>constant.character.escape.backspace.python</string>
</dict>
<key>9</key>
<dict>
<key>name</key>
<string>constant.character.escape.formfeed.python</string>
</dict>
</dict>
<key>match</key>
<string>(\\x[\h]{2})|(\\[0-7]{3})|(\\\n)|(\\\\)|(\\\")|(\\')|(\\a)|(\\b)|(\\f)|(\\n)|(\\r)|(\\t)|(\\v)</string>
</dict>
<key>escaped_char_raw_double</key>
<dict>
<key>match</key>
<string>\\"</string>
<key>name</key>
<string>constant.character.escape.quote.python</string>
</dict>
<key>escaped_char_raw_single</key>
<dict>
<key>match</key>
<string>\\'</string>
<key>name</key>
<string>constant.character.escape.quote.python</string>
</dict>
<key>escaped_unicode_char</key>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>constant.character.escape.unicode.32-bit-hex.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>constant.character.escape.unicode.16-bit-hex.python</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>constant.character.escape.unicode.name.python</string>
</dict>
</dict>
<key>match</key>
<string>(\\U[\h]{8})|(\\u[\h]{4})|(\\N\{[a-zA-Z0-9\, ]+\})</string>
</dict>
<key>generic_names</key>
<dict>
<key>match</key>
<string>[[:alpha:]_][[:alnum:]_]*</string>
<key>name</key>
<string>meta.identifier.python</string>
</dict>
<key>generic_object_names</key>
<dict>
<key>match</key>
<string>(\.\b([[:alpha:]_][[:alnum:]_]*)\b(?!\(|\[)|\b([[:alpha:]_][[:alnum:]_]*)\b\.)</string>
</dict>
<key>illegal_names</key>
<dict>
<key>comment</key>
<string>from Lib/keyword.py, in kwlist. `async` and `await` not keywords until Python 3.7 (according to PEP-0492)</string>
<key>match</key>
<string>(?x)
\b (
False | None | True | and | as | assert | break | class | continue | def |
del | elif | else | except | exec | finally | for | from | global | if |
import | in | is | lambda | nonlocal | not | or | pass | print | raise |
return | try | while | with | yield)
\b</string>
<key>name</key>
<string>invalid.illegal.name.python</string>
</dict>
<key>keyword_arguments</key>
<dict>
<key>begin</key>
<string>\b([[:alpha:]_][[:alnum:]_]*)\s*(=)(?!=)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>variable.parameter.function.keyword.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.operator.assignment.python</string>
</dict>
</dict>
<key>end</key>
<string>\s*(?:(,)|(?=[\)\:]))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.separator.parameters.python</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<key>language_variables</key>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>variable.language.python</string>
</dict>
</dict>
<key>match</key>
<string>(?&lt;!\.)\b(self|cls)\b(?:\.|\()?</string>
</dict>
<key>line_continuation</key>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.separator.continuation.line.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.unexpected-text.python</string>
</dict>
</dict>
<key>match</key>
<string>(\\)(.*)$\n?</string>
</dict>
<key>magic_function_calls</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?x)
(\.)?
\b(
__(?:
abs | add | aenter | aexit | aiter | and | anext | await | bool |
bytes | call | ceil | cmp | coerce | complex | contains | copy |
deepcopy | del | delattr | delete | delitem | delslice | dir | div |
divmod | enter | eq | exit | float | floor | floordiv | format | ge |
get | getattr | getattribute | getinitargs | getitem | getnewargs |
getnewargs_ex | getslice | getstate | gt | hash | hex | iadd | iand |
idiv | idivmod | ifloordiv | ilshift | imatmul | imod | imul | index |
init | instancecheck | int | invert | iop | ior | ipow | irshift |
isub | iter | itruediv | ixor | le | len | length_hint | long |
lshift | lt | matmul | missing | mod | mul | ne | neg | new | next |
nonzero | oct | op | or | pos | pow | prepare | radd | rand | rcmp |
rdiv | rdivmod | reduce | reduce_ex | repr | reversed | rfloordiv |
rlshift | rmatmul | rmod | rmul | rop | ror | round | rpow | rrshift |
rshift | rsub | rtruediv | rxor | set | setattr | setitem | setslice |
setstate | sizeof | str | sub | subclasscheck | truediv | trunc |
unicode | xor)
__)
\s*(?=(\())</string>
<key>beginCaptures</key>
<dict>
<key>2</key>
<dict>
<key>name</key>
<string>support.function.magic.call.python</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.begin.python</string>
</dict>
</dict>
<key>end</key>
<string>(\))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.end.python</string>
</dict>
</dict>
<key>name</key>
<string>meta.function-call.python</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?=[[:alpha:]_][[:alnum:]_]*(?:\s*\.\s*[[:alpha:]_][[:alnum:]_]*)*\s*\()</string>
<key>end</key>
<string>(?=\s*\()</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#dotted_name</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.begin.python</string>
</dict>
</dict>
<key>contentName</key>
<string>meta.function-call.arguments.python</string>
<key>end</key>
<string>(?=\))</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#keyword_arguments</string>
</dict>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
</array>
</dict>
</array>
</dict>
<key>magic_function_names</key>
<dict>
<key>captures</key>
<dict>
<key>2</key>
<dict>
<key>name</key>
<string>support.function.magic.name.python</string>
</dict>
</dict>
<key>comment</key>
<string>These methods have magic interpretation by python and are generally
called indirectly through syntactic constructs. Names are from
https://docs.python.org/X/reference/datamodel.html where X is 2.7 and 3.5
See also http://www.rafekettler.com/magicmethods.html</string>
<key>match</key>
<string>(?x)
(def|\.)?
\s*\b(
__(?:
abs | add | aenter | aexit | aiter | and | anext | await | bool |
bytes | call | ceil | cmp | coerce | complex | contains | copy |
deepcopy | del | delattr | delete | delitem | delslice | dir | div |
divmod | enter | eq | exit | float | floor | floordiv | format | ge |
get | getattr | getattribute | getinitargs | getitem | getnewargs |
getnewargs_ex | getslice | getstate | gt | hash | hex | iadd | iand |
idiv | idivmod | ifloordiv | ilshift | imatmul | imod | imul | index |
init | instancecheck | int | invert | iop | ior | ipow | irshift |
isub | iter | itruediv | ixor | le | len | length_hint | long |
lshift | lt | matmul | missing | mod | mul | ne | neg | new | next |
nonzero | oct | op | or | pos | pow | prepare | radd | rand | rcmp |
rdiv | rdivmod | reduce | reduce_ex | repr | reversed | rfloordiv |
rlshift | rmatmul | rmod | rmul | rop | ror | round | rpow | rrshift |
rshift | rsub | rtruediv | rxor | set | setattr | setitem | setslice |
setstate | sizeof | str | sub | subclasscheck | truediv | trunc |
unicode | xor)
__)
\b</string>
</dict>
<key>magic_variable_names</key>
<dict>
<key>captures</key>
<dict>
<key>2</key>
<dict>
<key>name</key>
<string>support.variable.magic.python</string>
</dict>
</dict>
<key>comment</key>
<string>magic attributes which a class/module may have.</string>
<key>match</key>
<string>(?x)
(\.)?
\b(
__(?:
all | annotations | bases | class | closure | code | debug |
defaults | dict | doc | file | func | globals | kwdefaults |
members | metaclass | methods | module | mro | name | qualname |
self | slots | subclasses | version | weakref)
__) \b</string>
</dict>
<key>regular_expressions</key>
<dict>
<key>comment</key>
<string>Changed disabled to 1 to turn off syntax highlighting in “r” strings.</string>
<key>disabled</key>
<integer>0</integer>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.regexp.python</string>
</dict>
</array>
</dict>
<key>string_quoted_double</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>([uU]r)(""")</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted unicode-raw string</string>
<key>end</key>
<string>"""</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.block.unicode-raw-regex.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_double</string>
</dict>
<dict>
<key>include</key>
<string>#regular_expressions</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([uU]R)(""")</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted unicode-raw string without regular expression highlighting</string>
<key>end</key>
<string>"""</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.block.unicode-raw.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_double</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([bB]r)(""")</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted bytes-raw string</string>
<key>end</key>
<string>"""</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.block.bytes-raw-regex.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_double</string>
</dict>
<dict>
<key>include</key>
<string>#regular_expressions</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([bB]R)(""")</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted bytes-raw string without regular expression highlighting</string>
<key>end</key>
<string>"""</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.block.bytes-raw.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_double</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(r)(""")</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>double quoted raw string</string>
<key>end</key>
<string>"""</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.block.raw-regex.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_double</string>
</dict>
<dict>
<key>include</key>
<string>#regular_expressions</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(R)(""")</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>double quoted raw string</string>
<key>end</key>
<string>"""</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.block.raw.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_double</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([uU])(""")</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>double quoted unicode string</string>
<key>end</key>
<string>"""</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.block.unicode.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_unicode_char</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([bB])(""")</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>double quoted bytes string</string>
<key>end</key>
<string>"""</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.block.bytes.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_unicode_char</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
<key>3</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_double</string>
</dict>
<dict>
<key>include</key>
<string>#regular_expressions</string>
</dict>
</array>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>comment</key>
<string>double-quoted raw string</string>
<key>match</key>
<string>([uU]r)(")((?:[^"\\]|\\.)*)(")</string>
<key>name</key>
<string>string.quoted.double.single-line.unicode-raw-regex.python</string>
</dict>
<dict>
<key>begin</key>
<string>([uU]R)(")</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>double-quoted raw string</string>
<key>end</key>
<string>(")|(\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.unclosed-string.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.single-line.unicode-raw.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_double</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([bB]r)(")</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>double-quoted raw string</string>
<key>end</key>
<string>(")|(\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.unclosed-string.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.single-line.bytes-raw-regex.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_double</string>
</dict>
<dict>
<key>include</key>
<string>#regular_expressions</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([bB]R)(")</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>double-quoted raw string</string>
<key>end</key>
<string>(")|(\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.unclosed-string.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.single-line.bytes-raw.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_double</string>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
<key>3</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_double</string>
</dict>
<dict>
<key>include</key>
<string>#regular_expressions</string>
</dict>
</array>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>comment</key>
<string>double-quoted raw string</string>
<key>match</key>
<string>(r)(")((?:[^"\\]|\\.)*)(")</string>
<key>name</key>
<string>string.quoted.double.single-line.raw-regex.python</string>
</dict>
<dict>
<key>begin</key>
<string>(R)(")</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>double-quoted raw string</string>
<key>end</key>
<string>(")|(\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.unclosed-string.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.single-line.raw.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_double</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([uU])(")</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>double quoted unicode string</string>
<key>end</key>
<string>(")|(\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.unclosed-string.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.single-line.unicode.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_unicode_char</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([bB])(")</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>double quoted bytes string</string>
<key>end</key>
<string>(")|(\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.unclosed-string.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.single-line.bytes.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_unicode_char</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(""")(?=\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER))</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>double quoted string</string>
<key>end</key>
<string>"""</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.block.sql.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_unicode_char</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
<dict>
<key>include</key>
<string>source.sql</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(")(?=\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER))</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>double quoted string</string>
<key>end</key>
<string>(")|(\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.unclosed-string.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.single-line.sql.python</string>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>0</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_unicode_char</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
<dict>
<key>include</key>
<string>source.sql</string>
</dict>
</array>
</dict>
</dict>
<key>match</key>
<string>(\G|^)([^"\\]|\\.)*(?="|$)</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(""")</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>double quoted string</string>
<key>end</key>
<string>"""</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.block.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_unicode_char</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(")</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>double quoted string</string>
<key>end</key>
<string>(")|(\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.unclosed-string.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.single-line.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_unicode_char</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>string_quoted_single</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>([uU]r)(''')</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted unicode-raw string</string>
<key>end</key>
<string>'''</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.block.unicode-raw-regex.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_single</string>
</dict>
<dict>
<key>include</key>
<string>#regular_expressions</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([uU]R)(''')</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted unicode-raw string</string>
<key>end</key>
<string>'''</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.block.unicode-raw.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_single</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([bB]r)(''')</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted bytes-raw string</string>
<key>end</key>
<string>'''</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.block.bytes-raw-regex.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_single</string>
</dict>
<dict>
<key>include</key>
<string>#regular_expressions</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([bB]R)(''')</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted bytes-raw string</string>
<key>end</key>
<string>'''</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.block.bytes-raw.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_single</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(r)(''')</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted raw string</string>
<key>end</key>
<string>'''</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.block.raw-regex.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_single</string>
</dict>
<dict>
<key>include</key>
<string>#regular_expressions</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(R)(''')</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted raw string</string>
<key>end</key>
<string>'''</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.block.raw.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_single</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([uU])(''')</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted unicode string</string>
<key>end</key>
<string>'''</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.block.unicode.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_unicode_char</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([bB])(''')</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted bytes string</string>
<key>end</key>
<string>'''</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.block.bytes.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_unicode_char</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
<key>3</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_single</string>
</dict>
<dict>
<key>include</key>
<string>#regular_expressions</string>
</dict>
</array>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted raw string</string>
<key>match</key>
<string>([uU]r)(')((?:[^'\\]|\\.)*)(')</string>
<key>name</key>
<string>string.quoted.single.single-line.unicode-raw-regex.python</string>
</dict>
<dict>
<key>begin</key>
<string>([uU]R)(')</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted unicode-raw string</string>
<key>end</key>
<string>(')|(\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.unclosed-string.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.single-line.unicode-raw.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_single</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([bB]r)(')</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted bytes-raw string</string>
<key>end</key>
<string>(')|(\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.unclosed-string.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.single-line.bytes-raw-regex.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_single</string>
</dict>
<dict>
<key>include</key>
<string>#regular_expressions</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([bB]R)(')</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted bytes-raw string</string>
<key>end</key>
<string>(')|(\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.unclosed-string.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.single-line.bytes-raw.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_single</string>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
<key>3</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_single</string>
</dict>
<dict>
<key>include</key>
<string>#regular_expressions</string>
</dict>
</array>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>match</key>
<string>(r)(')((?:[^'\\]|\\.)*)(')</string>
<key>name</key>
<string>string.quoted.single.single-line.raw-regex.python</string>
</dict>
<dict>
<key>begin</key>
<string>(R)(')</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted raw string</string>
<key>end</key>
<string>(')|(\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.unclosed-string.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.single-line.raw.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char_raw_single</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([uU])(')</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted unicode string</string>
<key>end</key>
<string>(')|(\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.unclosed-string.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.single-line.unicode.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_unicode_char</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([bB])(')</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.string.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted bytes string</string>
<key>end</key>
<string>(')|(\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.unclosed-string.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.single-line.bytes.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_unicode_char</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(''')(?=\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER))</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted string</string>
<key>end</key>
<string>'''</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.block.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_unicode_char</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
<dict>
<key>include</key>
<string>source.sql</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(')(?=\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER))</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted string</string>
<key>end</key>
<string>(')|(\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.unclosed-string.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.single-line.python</string>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>0</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_unicode_char</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
<dict>
<key>include</key>
<string>source.sql</string>
</dict>
</array>
</dict>
</dict>
<key>match</key>
<string>(\G|^)([^'\\]|\\.)*(?='|$)</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(''')</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted string</string>
<key>end</key>
<string>'''</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.block.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_unicode_char</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(')</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.python</string>
</dict>
</dict>
<key>comment</key>
<string>single quoted string</string>
<key>end</key>
<string>(')|(\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.unclosed-string.python</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.single-line.python</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#constant_placeholder</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_unicode_char</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>strings</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#string_quoted_double</string>
</dict>
<dict>
<key>include</key>
<string>#string_quoted_single</string>
</dict>
</array>
</dict>
</dict>
<key>scopeName</key>
<string>source.python</string>
<key>uuid</key>
<string>F23DB5B2-7D08-11D9-A709-000D93B6E43C</string>
</dict>
</plist>