239 lines
6.8 KiB
JSON
239 lines
6.8 KiB
JSON
|
|
{
|
||
|
|
"scopeName": "text.esml",
|
||
|
|
"fileTypes": [
|
||
|
|
"esml"
|
||
|
|
],
|
||
|
|
"name": "Jibo Embodied Speech Markup Language",
|
||
|
|
"patterns": [
|
||
|
|
{
|
||
|
|
"begin": "(</?)(tts)\\b",
|
||
|
|
"beginCaptures": {
|
||
|
|
"1": {
|
||
|
|
"name": "keyword.control.tts.begin.esml"
|
||
|
|
},
|
||
|
|
"2": {
|
||
|
|
"name": "entity.tag.name.tts.esml"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"end": "(/?>)",
|
||
|
|
"endCaptures": {
|
||
|
|
"1": {
|
||
|
|
"name": "keyword.control.tts.end.esml"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"name": "meta.tag.tts.esml",
|
||
|
|
"patterns": [
|
||
|
|
{
|
||
|
|
"include": "#tts-tag-stuff"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"begin": "(</?)(anim|es|ssa|sfx)\\b",
|
||
|
|
"beginCaptures": {
|
||
|
|
"1": {
|
||
|
|
"name": "keyword.control.anim.begin.esml"
|
||
|
|
},
|
||
|
|
"2": {
|
||
|
|
"name": "entity.name.tag.anim.esml"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"end": "(/?>)",
|
||
|
|
"endCaptures": {
|
||
|
|
"1": {
|
||
|
|
"name": "keyword.control.anim.end.esml"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"name": "meta.tag.anim.esml",
|
||
|
|
"patterns": [
|
||
|
|
{
|
||
|
|
"include": "#es-ssa-sfx-anim-tag-stuff"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"begin": "(</?)(sound)\\b",
|
||
|
|
"beginCaptures": {
|
||
|
|
"1": {
|
||
|
|
"name": "keyword.control.sound.begin.esml"
|
||
|
|
},
|
||
|
|
"2": {
|
||
|
|
"name": "entity.name.tag.sound.esml"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"end": "(/?>)",
|
||
|
|
"endCaptures": {
|
||
|
|
"1": {
|
||
|
|
"name": "keyword.control.sound.end.esml"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"name": "meta.tag.sound.esml",
|
||
|
|
"patterns": [
|
||
|
|
{
|
||
|
|
"include": "#sound-tag-stuff"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"begin": "(</?)(break)\\b",
|
||
|
|
"beginCaptures": {
|
||
|
|
"1": {
|
||
|
|
"name": "keyword.control.break.begin.esml"
|
||
|
|
},
|
||
|
|
"2": {
|
||
|
|
"name": "entity.name.tag.break.other.esml"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"end": "(/?>)",
|
||
|
|
"endCaptures": {
|
||
|
|
"1": {
|
||
|
|
"name": "keyword.control.break.end.esml"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"name": "meta.tag.break.esml",
|
||
|
|
"patterns": [
|
||
|
|
{
|
||
|
|
"include": "#break-tag-stuff"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"begin": "(</?)((?!(tts|anim|sound|break|es|ssa|sfx))\\w*)",
|
||
|
|
"beginCaptures": {
|
||
|
|
"1": {
|
||
|
|
"name": "keyword.control.tag.begin.esml"
|
||
|
|
},
|
||
|
|
"2": {
|
||
|
|
"name": "invalid.illegal.entity.name.esml"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"end": "(/?>)",
|
||
|
|
"endCaptures": {
|
||
|
|
"1": {
|
||
|
|
"name": "keyword.control.tag.end.esml"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"name": "meta.tag.other.esml"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"match": "<>",
|
||
|
|
"name": "invalid.illegal.incomplete.emsl"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"repository": {
|
||
|
|
"string-double-quoted": {
|
||
|
|
"begin": "\"",
|
||
|
|
"beginCaptures": {
|
||
|
|
"0": {
|
||
|
|
"name": "punctuation.definition.string.begin.esml"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"end": "\"",
|
||
|
|
"endCaptures": {
|
||
|
|
"0": {
|
||
|
|
"name": "punctuation.definition.string.end.esml"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"name": "string.quoted.double.esml"
|
||
|
|
},
|
||
|
|
"string-single-quoted": {
|
||
|
|
"begin": "'",
|
||
|
|
"beginCaptures": {
|
||
|
|
"0": {
|
||
|
|
"name": "punctuation.definition.string.begin.esml"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"end": "'",
|
||
|
|
"endCaptures": {
|
||
|
|
"0": {
|
||
|
|
"name": "punctuation.definition.string.end.esml"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"name": "string.quoted.single.esml"
|
||
|
|
},
|
||
|
|
"tts-attribute": {
|
||
|
|
"match": "(?<=[^=])\\b(params|config)",
|
||
|
|
"name": "entity.other.tts.attribute-name.esml"
|
||
|
|
},
|
||
|
|
"es-ssa-sfx-anim-attribute": {
|
||
|
|
"match": "(?<=[^=])\\b(path|name|cat|nonBlocking|endNeutral|filter|layers)",
|
||
|
|
"name": "entity.other.es-ssa-sfx-anim.attribute-name.esml"
|
||
|
|
},
|
||
|
|
"sound-attribute": {
|
||
|
|
"match": "(?<=[^=])\\b(path|nonBlocking)",
|
||
|
|
"name": "entity.other.sound.attribute-name.esml"
|
||
|
|
},
|
||
|
|
"break-attribute": {
|
||
|
|
"match": "(?<=[^=])\\b(size)",
|
||
|
|
"name": "entity.other.break.attribute-name.esml"
|
||
|
|
},
|
||
|
|
"tts-tag-stuff": {
|
||
|
|
"patterns": [
|
||
|
|
{
|
||
|
|
"include": "#tts-attribute"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"include": "#string-double-quoted"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"include": "#string-single-quoted"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"include": "#unquoted-attribute"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"es-ssa-sfx-anim-tag-stuff": {
|
||
|
|
"patterns": [
|
||
|
|
{
|
||
|
|
"include": "#es-ssa-sfx-anim-attribute"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"include": "#string-double-quoted"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"include": "#string-single-quoted"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"include": "#unquoted-attribute"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"sound-tag-stuff": {
|
||
|
|
"patterns": [
|
||
|
|
{
|
||
|
|
"include": "#sound-attribute"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"include": "#string-double-quoted"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"include": "#string-single-quoted"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"include": "#unquoted-attribute"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"break-tag-stuff": {
|
||
|
|
"patterns": [
|
||
|
|
{
|
||
|
|
"include": "#break-attribute"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"include": "#string-double-quoted"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"include": "#string-single-quoted"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"include": "#unquoted-attribute"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"unquoted-attribute": {
|
||
|
|
"match": "(?<==)(?:[^\\s<>/'\"]|/(?!>))+",
|
||
|
|
"name": "invalid.illegal.unquoted.esml"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|