mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-24 12:19:20 +00:00
2071 lines
44 KiB
Plaintext
2071 lines
44 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>jsx</string>
|
|
</array>
|
|
<key>name</key>
|
|
<string>JavaScriptReact</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#expression</string>
|
|
</dict>
|
|
</array>
|
|
<key>repository</key>
|
|
<dict>
|
|
<key>access-modifier</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(public|protected|private)\b</string>
|
|
<key>name</key>
|
|
<string>storage.modifier.jsx</string>
|
|
</dict>
|
|
<key>arithmetic-operator</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\*|/|\-\-|\-|\+\+|\+|%</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.arithmetic.jsx</string>
|
|
</dict>
|
|
<key>array-literal</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\[</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.square.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\]</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.square.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.array.literal.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#expression</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>assignment-operator</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string><<=|>>=|>>>=|\*=|(?<!\()/=|%=|\+=|\-=|&=|\^=</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.assignment.jsx</string>
|
|
</dict>
|
|
<key>block</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\{</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.curly.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\}</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.curly.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.block.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#object-member</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#expression</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>boolean-literal</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(false|true)\b</string>
|
|
<key>name</key>
|
|
<string>constant.language.boolean.jsx</string>
|
|
</dict>
|
|
<key>comment</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>comment.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment-block-doc</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment-block</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment-line</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>comment-block</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>/\*</string>
|
|
<key>end</key>
|
|
<string>\*/</string>
|
|
<key>name</key>
|
|
<string>comment.block.jsx</string>
|
|
</dict>
|
|
<key>comment-block-doc</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>/\*\*(?!/)</string>
|
|
<key>end</key>
|
|
<string>\*/</string>
|
|
<key>name</key>
|
|
<string>comment.block.documentation.jsx</string>
|
|
</dict>
|
|
<key>comment-line</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(//).*$\n?</string>
|
|
<key>name</key>
|
|
<string>comment.line.jsx</string>
|
|
</dict>
|
|
<key>control-statement</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(?<!\.)\b(break|catch|continue|debugger|declare|do|else|finally|for|if|return|switch|throw|try|while|with|super|switch|case)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.control.jsx</string>
|
|
</dict>
|
|
<key>decl-block</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\{</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.curly.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\}</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.curly.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.decl.block.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#expression</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>declaration</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.declaration.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#function-declaration</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#object-declaration</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-declaration</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#enum-declaration</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>enum-declaration</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.jsx</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.jsx</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.class.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(?:\b(const)\s+)?\b(enum)\s+([a-zA-Z_$][\w$]*)</string>
|
|
<key>name</key>
|
|
<string>meta.enum.declaration.jsx</string>
|
|
</dict>
|
|
<key>expression</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.expression.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#for-in-simple</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#string</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#regex</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#template</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#literal</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#paren-expression</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#var-expr</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#declaration</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#new-expr</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#block</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#expression-operator</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#relational-operator</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#arithmetic-operator</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#logic-operator</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#assignment-operator</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#storage-keyword</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#function-call</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#switch-case</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#control-statement</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>expression-operator</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>=>|\b(delete|export|import|in|instanceof|module|namespace|new|typeof|void|as)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.jsx</string>
|
|
</dict>
|
|
<key>field-declaration</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?<!\()\s*((?:\b[a-zA-Z_$][\w$]*)|(?:\'[^']*\')|(?:\"[^"]*\"))\s*(\?\s*)?(?=(=|:))</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>variable.jsx</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.operator.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?=\}|;|,)|(?<=\})</string>
|
|
<key>name</key>
|
|
<string>meta.field.declaration.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#expression</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>for-in-simple</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.jsx</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.operator.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(?<=\()\s*\b(var|let|const)\s+([a-zA-Z_$][\w$]*)\s+(in|of)\b</string>
|
|
<key>name</key>
|
|
<string>forin.expr.jsx</string>
|
|
</dict>
|
|
<key>function-call</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>functioncall.expr.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-parameters</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#paren-expression</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>function-declaration</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\b(?:(export)\s+)?(function\b)(?:\s+([a-zA-Z_$][\w$]*))?\s*</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.jsx</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.function.jsx</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?=;|\})|(?<=\})</string>
|
|
<key>name</key>
|
|
<string>meta.function.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-parameters</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#function-type-parameters</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#return-type</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#function-overload-declaration</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#decl-block</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>function-overload-declaration</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.jsx</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.function.jsx</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>\b(?:(export)\s+)?(function\b)(?:\s+([a-zA-Z_$][\w$]*))?\s*</string>
|
|
<key>name</key>
|
|
<string>meta.function.overload.jsx</string>
|
|
</dict>
|
|
<key>function-type-parameters</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\(</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.round.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\)</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.round.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.function.type.parameter.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#parameter-name</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-annotation</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#variable-initializer</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>indexer-declaration</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\[</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.square.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(\])\s*(\?\s*)?|$</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.square.jsx</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.operator.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.indexer.declaration.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-annotation</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#indexer-parameter</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#expression</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>indexer-parameter</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>variable.parameter.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>([a-zA-Z_$][\w$]*)(?=\:)</string>
|
|
<key>name</key>
|
|
<string>meta.indexer.parameter.jsx</string>
|
|
</dict>
|
|
<key>jsx</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.jsx.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-tag-without-attributes</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-tag-open</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-tag-close</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-tag-invalid</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?<=(?:'|"|})>)</string>
|
|
<key>end</key>
|
|
<string>(?=</)</string>
|
|
<key>name</key>
|
|
<string>meta.jsx.children.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-children</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>jsx-children</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-tag-without-attributes</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-tag-open</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-tag-close</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-tag-invalid</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-evaluated-code</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-entities</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>jsx-entities</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.entity.jsx</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.entity.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)</string>
|
|
<key>name</key>
|
|
<string>constant.character.entity.jsx</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>&</string>
|
|
<key>name</key>
|
|
<string>invalid.illegal.bad-ampersand.jsx</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>jsx-evaluated-code</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>{</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.brace.curly.start.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>}</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.brace.curly.end.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.brace.curly.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#expression</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>jsx-string-double-quoted</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>"</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>"</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>string.quoted.double.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-entities</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>jsx-string-single-quoted</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>'</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>'</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>string.quoted.single.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-entities</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>jsx-tag-attribute-assignment</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>=(?=\s*(?:'|"|{|/\*|//|\n))</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.assignment.jsx</string>
|
|
</dict>
|
|
<key>jsx-tag-attribute-name</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.other.attribute-name.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(?x)
|
|
\s*
|
|
([_$a-zA-Z][-$\w]*)
|
|
(?=\s|=|/?>|/\*|//)</string>
|
|
<key>name</key>
|
|
<string>meta.tag.attribute-name.jsx</string>
|
|
</dict>
|
|
<key>jsx-tag-attributes</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-tag-attribute-name</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-tag-attribute-assignment</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-string-double-quoted</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-string-single-quoted</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-evaluated-code</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>jsx-tag-attributes-illegal</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\S+</string>
|
|
<key>name</key>
|
|
<string>invalid.illegal.attribute.jsx</string>
|
|
</dict>
|
|
<key>jsx-tag-close</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(</)([_$a-zA-Z][-$\w.]*(?<!\.|-))</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.tag.begin.jsx</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.tag.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(>)</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.tag.end.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>tag.close.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>jsx-tag-invalid</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string><\s*></string>
|
|
<key>name</key>
|
|
<string>invalid.illegal.tag.incomplete.jsx</string>
|
|
</dict>
|
|
<key>jsx-tag-open</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?x)
|
|
(<)
|
|
([_$a-zA-Z][-$\w.]*(?<!\.|-))
|
|
(?=\s+(?!\?)|/?>)</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.tag.begin.jsx</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.tag.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(/?>)</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.tag.end.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>tag.open.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-tag-attributes</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-tag-attributes-illegal</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>jsx-tag-without-attributes</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(<)([_$a-zA-Z][-$\w.]*(?<!\.|-))(>)</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.tag.begin.jsx</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.tag.jsx</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.tag.end.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(</)([_$a-zA-Z][-$\w.]*(?<!\.|-))(>)</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.tag.begin.jsx</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.tag.jsx</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.tag.end.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>tag.without-attributes.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#jsx-children</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>literal</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>literal.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#numeric-literal</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#boolean-literal</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#null-literal</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#undefined-literal</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#array-literal</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#this-literal</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>logic-operator</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\!|&|~|\||&&|\|\|</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.arithmetic.jsx</string>
|
|
</dict>
|
|
<key>method-declaration</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\b(?:(abstract)\s+)?\b(?:(public|private|protected)\s+)?(?:(get|set)\s+)?(?:(new)|(?:([a-zA-Z_$][\.\w$]*)\s*(\??)))?\s*(?=\(|\<)</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.jsx</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.jsx</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.property.jsx</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.operator.jsx</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.jsx</string>
|
|
</dict>
|
|
<key>6</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.operator.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?=\}|;|,)|(?<=\})</string>
|
|
<key>name</key>
|
|
<string>meta.method.declaration.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-parameters</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#function-type-parameters</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-annotation</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#method-overload-declaration</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#decl-block</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>method-overload-declaration</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.jsx</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.operator.jsx</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.jsx</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.operator.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>\b(?:(public|private|protected)\s+)?(?:(new)|(?:([a-zA-Z_$][\.\w$]*)\s*(\??)))?\s*(?=\(|\<)</string>
|
|
<key>name</key>
|
|
<string>meta.method.overload.declaration.jsx</string>
|
|
</dict>
|
|
<key>new-expr</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\b(new)\b</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.operator.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?=[(;]|$)</string>
|
|
<key>name</key>
|
|
<string>new.expr.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>null-literal</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(null)\b</string>
|
|
<key>name</key>
|
|
<string>constant.language.null.jsx</string>
|
|
</dict>
|
|
<key>numeric-literal</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(?<=[^$])((0(x|X)[0-9a-fA-F]+)|([0-9]+(\.[0-9]+)?))\b</string>
|
|
<key>name</key>
|
|
<string>constant.numeric.jsx</string>
|
|
</dict>
|
|
<key>object-body</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\{</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.curly.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\}</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.curly.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.object.body.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#string</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#field-declaration</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#method-declaration</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#indexer-declaration</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-annotation</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#variable-initializer</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#access-modifier</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#static-modifier</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#property-accessor</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>object-declaration</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\b(?:(export)\s+)?\b(?:(abstract)\s+)?\b(?<!\.)(class|interface)\b</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.jsx</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.jsx</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?<=\})</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>brace.curly.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.declaration.object.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#object-heritage</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#object-name</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-parameters</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#object-body</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>object-heritage</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?:\b(extends|implements))</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.other.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?=\{)</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>brace.curly.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.object.heritage.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-parameters</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#object-heritage-parent</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>object-heritage-parent</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(?:\s*([a-zA-Z_$][\w$]*))</string>
|
|
<key>name</key>
|
|
<string>meta.object.heritage.parent.jsx</string>
|
|
</dict>
|
|
<key>object-member</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>[a-zA-Z_$][\w$]*\s*:</string>
|
|
<key>end</key>
|
|
<string>(?=,|\})</string>
|
|
<key>name</key>
|
|
<string>meta.object.member.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#expression</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>object-name</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.class.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>[a-zA-Z_$][\w$]*</string>
|
|
<key>name</key>
|
|
<string>meta.object.name.jsx</string>
|
|
</dict>
|
|
<key>parameter-name</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.jsx</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.operator.jsx</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>variable.parameter.jsx</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.operator.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(?:\s*\b(public|private|protected)\b\s+)?(\.\.\.)?\s*([a-zA-Z_$][\w$]*)\s*(\??)</string>
|
|
<key>name</key>
|
|
<string>parameter.name.jsx</string>
|
|
</dict>
|
|
<key>paren-expression</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\(</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.paren.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\)</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.paren.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#expression</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>property-accessor</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(get|set)\b</string>
|
|
<key>name</key>
|
|
<string>storage.type.property.jsx</string>
|
|
</dict>
|
|
<key>qstring-double</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>"</string>
|
|
<key>end</key>
|
|
<string>"|(?=$)</string>
|
|
<key>name</key>
|
|
<string>string.double.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#string-character-escape</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>qstring-single</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>'</string>
|
|
<key>end</key>
|
|
<string>'|(?=$)</string>
|
|
<key>name</key>
|
|
<string>string.single.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#string-character-escape</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>regex</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?<=[=(:,\[]|^|return|&&|\|\||!)\s*(/)(?![/*+{}?])</string>
|
|
<key>end</key>
|
|
<string>$|(/)[igm]*</string>
|
|
<key>name</key>
|
|
<string>string.regex.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\\.</string>
|
|
<key>name</key>
|
|
<string>constant.character.escape.jsx</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\[(\\\]|[^\]])*\]</string>
|
|
<key>name</key>
|
|
<string>constant.character.class.jsx</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>relational-operator</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>===|==|=|!=|!==|<=|>=|<>|<|></string>
|
|
<key>name</key>
|
|
<string>keyword.operator.comparison.jsx</string>
|
|
</dict>
|
|
<key>return-type</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?<=\))\s*:</string>
|
|
<key>end</key>
|
|
<string>(?=$)|(?=\{|;|//)</string>
|
|
<key>name</key>
|
|
<string>meta.return.type.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>static-modifier</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(static)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.other.jsx</string>
|
|
</dict>
|
|
<key>storage-keyword</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(number|boolean|string|any|var|let|function|const)\b</string>
|
|
<key>name</key>
|
|
<string>storage.type.jsx</string>
|
|
</dict>
|
|
<key>string</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>string.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#qstring-single</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#qstring-double</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>string-character-escape</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)</string>
|
|
<key>name</key>
|
|
<string>constant.character.escape</string>
|
|
</dict>
|
|
<key>switch-case</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?<!\.)\b(case|default)\b</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>:</string>
|
|
<key>name</key>
|
|
<string>case.expr.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#expression</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>template</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>`</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>string.template.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>`</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>string.template.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.template.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#template-substitution-element</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#template-string-contents</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>template-string-contents</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>.*?</string>
|
|
<key>end</key>
|
|
<string>(?=(\$\{|`))</string>
|
|
<key>name</key>
|
|
<string>string.template.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#string-character-escape</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>template-substitution-element</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\$\{</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.operator.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\}</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.operator.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>template.element.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#expression</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>this-literal</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(this)\b</string>
|
|
<key>name</key>
|
|
<string>constant.language.this.jsx</string>
|
|
</dict>
|
|
<key>type</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.type.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-primitive</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-parameters</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-tuple</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-object</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-operator</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-paren-or-function-type-parameters</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-function-return-type</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-name</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>type-annotation</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>:</string>
|
|
<key>end</key>
|
|
<string>(?=$|[,);\}\]]|//)|(?==[^>])|(?<=[\}>\]\)]|[a-zA-Z_$])\s*(?=\{)</string>
|
|
<key>name</key>
|
|
<string>meta.type.annotation.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#string</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>type-declaration</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\b(type)\b\s+([a-zA-Z_$][\w$]*)\s*=\s*</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.other.jsx</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?=[,);>]|var|type|function|class|interface)</string>
|
|
<key>name</key>
|
|
<string>meta.type.declaration.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>type-function-return-type</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>=></string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.operator.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?=\s*[,\)\{=;>]|//|$)</string>
|
|
<key>name</key>
|
|
<string>meta.type.function.return.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>type-name</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.type.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>[a-zA-Z_$][.\w$]*</string>
|
|
<key>name</key>
|
|
<string>meta.type.name.jsx</string>
|
|
</dict>
|
|
<key>type-object</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\{</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.curly.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\}</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.curly.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.object.type.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#field-declaration</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#method-declaration</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#indexer-declaration</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-annotation</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>type-operator</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>[.|]</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.type.jsx</string>
|
|
</dict>
|
|
<key>type-parameters</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>([a-zA-Z_$][\w$]*)?(<)</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.type.jsx</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.angle.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?=$)|(>)</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.angle.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.type.parameters.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(extends)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.other.jsx</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>type-paren-or-function-type-parameters</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?:\b(new)\b)?\s*\(</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\)</string>
|
|
<key>name</key>
|
|
<string>meta.type.paren.cover.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#function-type-parameters</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>type-primitive</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>\b(string|number|boolean|symbol|any|void)\b</string>
|
|
<key>name</key>
|
|
<string>meta.type.primitive.jsx</string>
|
|
</dict>
|
|
<key>type-tuple</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\[</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.square.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\]</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.brace.square.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.type.tuple.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>undefined-literal</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(undefined)\b</string>
|
|
<key>name</key>
|
|
<string>constant.language.jsx</string>
|
|
</dict>
|
|
<key>var-expr</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?<!\()\s*\b(var|let|const(?!\s+enum))\s+([a-zA-Z_$][\w$]*)</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.jsx</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>variable.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?=$|[;=\}\{])|(?<=\})</string>
|
|
<key>name</key>
|
|
<string>meta.var.expr.jsx</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#type-annotation</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#string</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>variable-initializer</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(=)</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.operator.jsx</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?=$|[,);=])</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#expression</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</dict>
|
|
<key>scopeName</key>
|
|
<string>source.jsx</string>
|
|
<key>uuid</key>
|
|
<string>805375ec-d614-41f5-8993-5843fe63ea82</string>
|
|
</dict>
|
|
</plist>
|
|
|