mirror of
https://github.com/odoo/owl.git
synced 2025-10-06 19:59:41 +07:00
[IMP] owl-vision: syntax scripts, single quotes attributes and slot props highlight and switch below command
This commit adds the following: - Syntax builder scripts to make syntaxes easier to read and edit - Syntax highlight in single quote attributes - Syntax highlight for slot props - Basic syntax highlight for xpaths - Added `Switch Below` command This commit fixes the following: - Using `Switch Besides` or `Switch Below` does not open a new panel if one was already open - Fixed missing space in component's snippet indentation
This commit is contained in:
committed by
Géry Debongnie
parent
398df543fe
commit
34489a2494
@@ -5,22 +5,451 @@
|
||||
{
|
||||
"include": "#component-tags"
|
||||
},
|
||||
{
|
||||
"include": "#html-tags"
|
||||
},
|
||||
{
|
||||
"include": "#t-tag"
|
||||
},
|
||||
{
|
||||
"include": "#xml-tags"
|
||||
},
|
||||
{
|
||||
"include": "#props"
|
||||
}
|
||||
],
|
||||
"repository": {
|
||||
"inline-js": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "\\s(=>)\\s",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "string.quoted.double.xml owl.arrow"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "\\b(props)\\b",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "variable.language.js owl.expression.props"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "\\s(and|or)\\s",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.operator.logical.js owl.logical"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"include": "source.js"
|
||||
}
|
||||
]
|
||||
},
|
||||
"formatted-string": {
|
||||
"contentName": "meta.embedded.block.javascript",
|
||||
"begin": "({{)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "owl.double-curlybrackets"
|
||||
}
|
||||
},
|
||||
"end": "(}})",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "owl.double-curlybrackets"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#inline-js"
|
||||
}
|
||||
]
|
||||
},
|
||||
"html-attributes": {
|
||||
"patterns": [
|
||||
{
|
||||
"contentName": "string.quoted.double.xml",
|
||||
"begin": "(\\s*)([a-z]{2}[a-z_:.-]+)(=)(\")",
|
||||
"beginCaptures": {
|
||||
"2": {
|
||||
"name": "entity.other.attribute-name.localname.xml owl.xml.attribute"
|
||||
},
|
||||
"4": {
|
||||
"name": "punctuation.definition.string.begin.xml"
|
||||
}
|
||||
},
|
||||
"end": "(\")",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.xml"
|
||||
}
|
||||
},
|
||||
"patterns": []
|
||||
},
|
||||
{
|
||||
"contentName": "string.quoted.single.xml",
|
||||
"begin": "(\\s*)([a-z]{2}[a-z_:.-]+)(=)(')",
|
||||
"beginCaptures": {
|
||||
"2": {
|
||||
"name": "entity.other.attribute-name.localname.xml owl.xml.attribute"
|
||||
},
|
||||
"4": {
|
||||
"name": "punctuation.definition.string.begin.xml"
|
||||
}
|
||||
},
|
||||
"end": "(')",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.xml"
|
||||
}
|
||||
},
|
||||
"patterns": []
|
||||
}
|
||||
]
|
||||
},
|
||||
"props-attributes": {
|
||||
"patterns": [
|
||||
{
|
||||
"contentName": "meta.embedded.block.javascript string.quoted.double.xml",
|
||||
"begin": "(\\s*)([a-zA-Z]{2}[a-zA-Z_:.]*)(=)(\")",
|
||||
"beginCaptures": {
|
||||
"2": {
|
||||
"name": "entity.other.attribute-name.localname.xml owl.attribute owl.attribute.props"
|
||||
},
|
||||
"4": {
|
||||
"name": "punctuation.definition.string.begin.xml"
|
||||
}
|
||||
},
|
||||
"end": "(\")",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.xml"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#inline-js"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"contentName": "meta.embedded.block.javascript string.quoted.single.xml",
|
||||
"begin": "(\\s*)([a-zA-Z]{2}[a-zA-Z_:.]*)(=)(')",
|
||||
"beginCaptures": {
|
||||
"2": {
|
||||
"name": "entity.other.attribute-name.localname.xml owl.attribute owl.attribute.props"
|
||||
},
|
||||
"4": {
|
||||
"name": "punctuation.definition.string.begin.xml"
|
||||
}
|
||||
},
|
||||
"end": "(')",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.xml"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#inline-js"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"owl-attributes-dynamic": {
|
||||
"patterns": [
|
||||
{
|
||||
"contentName": "meta.embedded.block.javascript string.quoted.double.xml",
|
||||
"begin": "(\\s*)(t-if|t-else|t-elif|t-foreach|t-as|t-key|t-esc|t-out|t-props|t-component|t-set|t-value|t-portal|t-slot-scope|t-att-[a-z_:.-]+|t-on-[a-z_:.-]+)(=)(\")",
|
||||
"beginCaptures": {
|
||||
"2": {
|
||||
"name": "entity.other.attribute-name.localname.xml owl.attribute owl.attribute.dynamic"
|
||||
},
|
||||
"4": {
|
||||
"name": "punctuation.definition.string.begin.xml"
|
||||
}
|
||||
},
|
||||
"end": "(\")",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.xml"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#inline-js"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"contentName": "meta.embedded.block.javascript string.quoted.single.xml",
|
||||
"begin": "(\\s*)(t-if|t-else|t-elif|t-foreach|t-as|t-key|t-esc|t-out|t-props|t-component|t-set|t-value|t-portal|t-slot-scope|t-att-[a-z_:.-]+|t-on-[a-z_:.-]+)(=)(')",
|
||||
"beginCaptures": {
|
||||
"2": {
|
||||
"name": "entity.other.attribute-name.localname.xml owl.attribute owl.attribute.dynamic"
|
||||
},
|
||||
"4": {
|
||||
"name": "punctuation.definition.string.begin.xml"
|
||||
}
|
||||
},
|
||||
"end": "(')",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.xml"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#inline-js"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"owl-attributes-static": {
|
||||
"patterns": [
|
||||
{
|
||||
"contentName": "string.quoted.double.xml",
|
||||
"begin": "(\\s*)(t-name|t-ref|t-set-slot|t-model|t-inherit|t-inherit-mode|t-translation)(=)(\")",
|
||||
"beginCaptures": {
|
||||
"2": {
|
||||
"name": "entity.other.attribute-name.localname.xml owl.attribute owl.attribute.static"
|
||||
},
|
||||
"4": {
|
||||
"name": "punctuation.definition.string.begin.xml"
|
||||
}
|
||||
},
|
||||
"end": "(\")",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.xml"
|
||||
}
|
||||
},
|
||||
"patterns": []
|
||||
},
|
||||
{
|
||||
"contentName": "string.quoted.single.xml",
|
||||
"begin": "(\\s*)(t-name|t-ref|t-set-slot|t-model|t-inherit|t-inherit-mode|t-translation)(=)(')",
|
||||
"beginCaptures": {
|
||||
"2": {
|
||||
"name": "entity.other.attribute-name.localname.xml owl.attribute owl.attribute.static"
|
||||
},
|
||||
"4": {
|
||||
"name": "punctuation.definition.string.begin.xml"
|
||||
}
|
||||
},
|
||||
"end": "(')",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.xml"
|
||||
}
|
||||
},
|
||||
"patterns": []
|
||||
}
|
||||
]
|
||||
},
|
||||
"owl-attributes-formatted-string": {
|
||||
"patterns": [
|
||||
{
|
||||
"contentName": "string.quoted.double.xml",
|
||||
"begin": "(\\s*)(t-call|t-slot|t-attf-[a-z_:.-]+)(=)(\")",
|
||||
"beginCaptures": {
|
||||
"2": {
|
||||
"name": "entity.other.attribute-name.localname.xml owl.attribute owl.attribute.formatted"
|
||||
},
|
||||
"4": {
|
||||
"name": "punctuation.definition.string.begin.xml"
|
||||
}
|
||||
},
|
||||
"end": "(\")",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.xml"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#formatted-string"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"contentName": "string.quoted.single.xml",
|
||||
"begin": "(\\s*)(t-call|t-slot|t-attf-[a-z_:.-]+)(=)(')",
|
||||
"beginCaptures": {
|
||||
"2": {
|
||||
"name": "entity.other.attribute-name.localname.xml owl.attribute owl.attribute.formatted"
|
||||
},
|
||||
"4": {
|
||||
"name": "punctuation.definition.string.begin.xml"
|
||||
}
|
||||
},
|
||||
"end": "(')",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.xml"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#formatted-string"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"xpath": {
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "\\[",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition"
|
||||
}
|
||||
},
|
||||
"end": "\\]",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "'",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition"
|
||||
}
|
||||
},
|
||||
"end": "'",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition"
|
||||
}
|
||||
},
|
||||
"contentName": "string.quoted.single"
|
||||
},
|
||||
{
|
||||
"begin": "\\\"",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition"
|
||||
}
|
||||
},
|
||||
"end": "\\\"",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition"
|
||||
}
|
||||
},
|
||||
"contentName": "string.quoted.double"
|
||||
},
|
||||
{
|
||||
"match": "(@)([a-zA-Z0-9_:\\-]+)\\b",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.other.attribute-name"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "(\\(|\\))",
|
||||
"name": "meta.brace.round"
|
||||
},
|
||||
{
|
||||
"match": "[0-9]+(\\.[0-9]+)?",
|
||||
"name": "constant.numeric.decimal"
|
||||
},
|
||||
{
|
||||
"match": "\\b(hasclass)\\b",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "entity.name.function"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"match": "/{1,2}",
|
||||
"name": "text"
|
||||
},
|
||||
{
|
||||
"match": "(?<!@)([A-Z][a-zA-Z]+)\\b",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "entity.name.type.class"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "(?<!@)([a-z][a-zA-Z0-9_:.]+|[abiqsuw])\\b",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "entity.name.tag"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"xpath-attributes": {
|
||||
"patterns": [
|
||||
{
|
||||
"contentName": "string.quoted.double.xml",
|
||||
"begin": "(\\s*)(expr)(=)(\")",
|
||||
"beginCaptures": {
|
||||
"2": {
|
||||
"name": "entity.other.attribute-name.localname.xml owl.xml.attribute owl.xml.attribute.xpath"
|
||||
},
|
||||
"4": {
|
||||
"name": "punctuation.definition.string.begin.xml"
|
||||
}
|
||||
},
|
||||
"end": "(\")",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.xml"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#xpath"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"contentName": "string.quoted.single.xml",
|
||||
"begin": "(\\s*)(expr)(=)(')",
|
||||
"beginCaptures": {
|
||||
"2": {
|
||||
"name": "entity.other.attribute-name.localname.xml owl.xml.attribute owl.xml.attribute.xpath"
|
||||
},
|
||||
"4": {
|
||||
"name": "punctuation.definition.string.begin.xml"
|
||||
}
|
||||
},
|
||||
"end": "(')",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.xml"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#xpath"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"component-tags": {
|
||||
"begin": "(</?)([A-Z][a-zA-Z0-9_]*)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.xml owl.punctuation"
|
||||
"name": "punctuation.definition.tag.xml owl.xml.punctuation"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.type.class owl.component"
|
||||
@@ -34,45 +463,18 @@
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#qweb-directives-interpreted"
|
||||
"include": "#owl-attributes-dynamic"
|
||||
},
|
||||
{
|
||||
"include": "#qweb-directives-string"
|
||||
"include": "#owl-attributes-dynamic"
|
||||
},
|
||||
{
|
||||
"include": "#component-props"
|
||||
"include": "#props-attributes"
|
||||
}
|
||||
]
|
||||
},
|
||||
"component-props": {
|
||||
"contentName": "meta.embedded.block.javascript string.quoted.double.xml",
|
||||
"begin": "(\\s*)([a-zA-Z_:.]*)(=)(\")",
|
||||
"beginCaptures": {
|
||||
"2": {
|
||||
"name": "entity.other.attribute-name.localname.xml owl.component.props"
|
||||
},
|
||||
"4": {
|
||||
"name": "punctuation.definition.string.begin.xml punctuation"
|
||||
}
|
||||
},
|
||||
"end": "(\")",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.xml punctuation"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "source.js"
|
||||
},
|
||||
{
|
||||
"name": "keyword.operator.logical.js",
|
||||
"match": "\\s(and|or)\\s"
|
||||
}
|
||||
]
|
||||
},
|
||||
"xml-tags": {
|
||||
"begin": "(</?)([a-z][a-zA-Z0-9_:.]*)",
|
||||
"html-tags": {
|
||||
"begin": "(</?)([a-z][a-zA-Z0-9_:.]+|[abiqsuw])",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.xml owl.xml.punctuation"
|
||||
@@ -84,51 +486,32 @@
|
||||
"end": "\\s*([/?]?>)",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.xml owl.xml.punctuation"
|
||||
"name": "punctuation.definition.tag.xml punctuation"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#qweb-directives-interpreted"
|
||||
"include": "#owl-attributes-formatted-string"
|
||||
},
|
||||
{
|
||||
"include": "#qweb-directives-string"
|
||||
"include": "#xpath-attributes"
|
||||
},
|
||||
{
|
||||
"include": "#qweb-directives-formatted-string"
|
||||
"include": "#owl-attributes-dynamic"
|
||||
},
|
||||
{
|
||||
"include": "#xml-attributes"
|
||||
"include": "#owl-attributes-static"
|
||||
},
|
||||
{
|
||||
"name": "string.quoted.double.xml",
|
||||
"match": "(\")((.*)(=>)(.*))(\")"
|
||||
"include": "#html-attributes"
|
||||
}
|
||||
]
|
||||
},
|
||||
"xml-attributes": {
|
||||
"contentName": "string.quoted.double.xml owl.xml.string",
|
||||
"begin": "(\\s)([a-z][a-z_:.-]+)(=)(\")",
|
||||
"beginCaptures": {
|
||||
"2": {
|
||||
"name": "entity.other.attribute-name.localname.xml owl.xml.attribute"
|
||||
},
|
||||
"4": {
|
||||
"name": "punctuation.definition.string.begin.xml owl.xml.punctuation"
|
||||
}
|
||||
},
|
||||
"end": "(\")",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.xml owl.xml.punctuation"
|
||||
}
|
||||
}
|
||||
},
|
||||
"t-tag": {
|
||||
"begin": "(</?)(t(?![a-zA-Z]))",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.xml owl.punctuation"
|
||||
"name": "punctuation.definition.tag.xml owl.xml.punctuation"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.tag.localname.xml owl.tag"
|
||||
@@ -137,121 +520,23 @@
|
||||
"end": "\\s*([/?]?>)",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.xml owl.punctuation"
|
||||
"name": "punctuation.definition.tag.xml punctuation"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#qweb-directives-interpreted"
|
||||
"include": "#props-attributes"
|
||||
},
|
||||
{
|
||||
"include": "#qweb-directives-string"
|
||||
"include": "#owl-attributes-formatted-string"
|
||||
},
|
||||
{
|
||||
"include": "#xml-attributes"
|
||||
"include": "#owl-attributes-dynamic"
|
||||
},
|
||||
{
|
||||
"name": "string.quoted.double.xml",
|
||||
"match": "(\")((.*)(=>)(.*))(\")"
|
||||
"include": "#owl-attributes-static"
|
||||
}
|
||||
]
|
||||
},
|
||||
"qweb-directives-interpreted": {
|
||||
"contentName": "meta.embedded.block.javascript string.quoted.double.xml",
|
||||
"begin": "(\\s)(t-if|t-else|t-elif|t-foreach|t-as|t-key|t-esc|t-out|t-props|t-component|t-set|t-value|t-portal|(t-att-|t-on-)[a-z_:.-]+)(=)(\")",
|
||||
"beginCaptures": {
|
||||
"2": {
|
||||
"name": "entity.other.attribute-name.localname.xml owl.attribute"
|
||||
},
|
||||
"5": {
|
||||
"name": "punctuation.definition.string.begin.xml owl.punctuation owl.doublequote"
|
||||
}
|
||||
},
|
||||
"end": "(\")",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.xml owl.punctuation owl.doublequote"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "source.js"
|
||||
},
|
||||
{
|
||||
"name": "keyword.operator.logical.js",
|
||||
"match": "\\s(and|or)\\s"
|
||||
}
|
||||
]
|
||||
},
|
||||
"qweb-directives-string": {
|
||||
"contentName": "string.quoted.double.xml",
|
||||
"begin": "(\\s)(t-name|t-ref|t-slot|t-set-slot|t-model|t-translation)(=)(\")",
|
||||
"beginCaptures": {
|
||||
"2": {
|
||||
"name": "entity.other.attribute-name.localname.xml owl.attribute"
|
||||
},
|
||||
"5": {
|
||||
"name": "punctuation.definition.string.begin.xml owl.punctuation owl.doublequote"
|
||||
}
|
||||
},
|
||||
"end": "(\")",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.xml owl.punctuation owl.doublequote"
|
||||
}
|
||||
}
|
||||
},
|
||||
"qweb-directives-formatted-string": {
|
||||
"begin": "(\\s)(t-call|(t-attf-)[a-z_:.-]+)(=)(\")",
|
||||
"beginCaptures": {
|
||||
"2": {
|
||||
"name": "entity.other.attribute-name.localname.xml owl.attribute owl.attribute.formatted"
|
||||
},
|
||||
"5": {
|
||||
"name": "punctuation.definition.string.begin.xml owl.punctuation owl.doublequote"
|
||||
}
|
||||
},
|
||||
"end": "(\")",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.xml owl.punctuation owl.doublequote"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#formatted-string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"formatted-string": {
|
||||
"contentName": "meta.embedded.block.javascript string.quoted.double.xml",
|
||||
"begin": "([^\"|}}]*)({{)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "string.quoted.double.xml"
|
||||
},
|
||||
"2": {
|
||||
"name": "string.quoted.double.xml owl.doublecurlybrackets"
|
||||
}
|
||||
},
|
||||
"end": "(}})([^\"|{{]*)",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "string.quoted.double.xml owl.doublecurlybrackets"
|
||||
},
|
||||
"2": {
|
||||
"name": "string.quoted.double.xml"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "source.js"
|
||||
}
|
||||
]
|
||||
},
|
||||
"props": {
|
||||
"name": "variable.language owl.expression.props",
|
||||
"match": "\\b(props)\\b"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user