You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

167 lines
3.2 KiB

{
"name": "Embedded Javascript",
"scopeName": "text.html.ejs",
"injectionSelector": "L:text.html",
"patterns": [
{
"include": "#tag-block-comment"
},
{
"include": "#tag-single-line-section-comment"
},
{
"include":"#tag-section-comment"
},
{
"include":"#tag-ejs-single-line"
},
{
"include":"#tag-ejs-multi-line"
}
],
"repository": {
"tag-block-comment": {
"begin": "<[%?]#",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.ejs"
}
},
"end": "[%?]>",
"endCaptures": {
"0": {
"name": "punctuation.definition.comment.ejs"
}
},
"name": "comment.block.ejs"
},
"tag-single-line-section-comment": {
"begin": "(<[%?](?:(?!php))[%_=-]?)\\s*((\/\\*)(.*)(\\*\/))(?=(\\s*([%?]>)))",
"captures": {
"1": {
"name": "keyword.operator.relational.js"
},
"3": {
"name": "punctuation.definition.comment.ejs"
},
"5": {
"name": "punctuation.definition.comment.ejs"
},
"2": {
"name": "comment.block.ejs"
}
},
"end": "([%?]>)",
"endCaptures": {
"1": {
"name": "keyword.operator.relational.js"
}
},
"contentName": "comment.block.ejs",
"name":"meta.block.single.comment.ejs"
},
"tag-section-comment": {
"name":"comment.block.ejs",
"begin":"(<[%?](?:(?!php)))\\s*((?=(\/\\*)))",
"beginCaptures": {
"1": {
"name": "keyword.operator.relational.js"
}
},
"end": "(\\*\/)\\s*([%?]>)",
"endCaptures": {
"1": {
"name": "punctuation.definition.comment.ejs"
},
"2": {
"name": "keyword.operator.relational.js"
}
},
"patterns":[
{
"name":"ejs-end-tag",
"match":"([%?]>)",
"captures":{
"1":{
"name":"keyword.operator.relational.js"
}
}
},
{
"name":"ejs-begin-tag",
"match":"(<[%?](?:(?!php)))",
"captures":{
"1":{
"name":"keyword.operator.relational.js"
}
}
},
{
"include":"text.html.ejs"
}
]
},
"tag-ejs-single-line": {
"name": "meta.tag.metadata.script.ejs",
"begin":"(<[%?](?:(?!php))[%_=-]?)(?!(\\s*\\*\/))(((?!([_-]?[%?]>)).)+)(?=([_-]?[%?]>))",
"beginCaptures": {
"0": {
"contentName":"source.js",
"name": "meta.embedded.*"
},
"1": {
"name": "keyword.operator.relational.js"
},
"3": {
"name": "meta.embedded.ejs",
"contentName": "source.js",
"patterns":[
{
"include":"source.js"
}
]
},
"6": {
"name": "keyword.operator.relational.js"
}
},
"end": "(([_-]?[%?]>))",
"endCaptures": {
"1": {
"name": "keyword.operator.relational.js"
}
}
},
"tag-ejs-multi-line": {
"contentName":"source.js",
"name": "meta.block.ejs",
"begin":"(<[%?](?:(?!php))[%_=-]?)(?!(\\s*\\*\/))",
"beginCaptures": {
"1": {
"name": "keyword.operator.relational.js"
},
"3": {
"name": "meta.embedded.ejs",
"contentName": "source.js",
"patterns":[
{
"include":"source.js"
}
]
}
},
"end": "(([_-]?[%?]>))",
"endCaptures": {
"1": {
"name": "keyword.operator.relational.js"
}
},
"patterns":[
{
"include":"source.js"
}
]
}
}
}