{
"$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
"name": "embedded_template",
"rules": {
"template": {
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "directive"
},
{
"type": "SYMBOL",
"name": "output_directive"
},
{
"type": "SYMBOL",
"name": "comment_directive"
},
{
"type": "SYMBOL",
"name": "graphql_directive"
},
{
"type": "SYMBOL",
"name": "content"
}
]
}
},
"code": {
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[^%=_-]+|[%=_-]"
},
{
"type": "STRING",
"value": "%%>"
}
]
}
},
"content": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[^<]+|<"
},
{
"type": "STRING",
"value": "<%%"
}
]
}
}
},
"directive": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "<%"
},
{
"type": "STRING",
"value": "<%_"
},
{
"type": "STRING",
"value": "<%|"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "code"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "%>"
},
{
"type": "STRING",
"value": "-%>"
},
{
"type": "STRING",
"value": "_%>"
}
]
}
]
},
"output_directive": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "<%="
},
{
"type": "STRING",
"value": "<%=="
},
{
"type": "STRING",
"value": "<%|="
},
{
"type": "STRING",
"value": "<%|=="
},
{
"type": "STRING",
"value": "<%-"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "code"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "%>"
},
{
"type": "STRING",
"value": "-%>"
},
{
"type": "STRING",
"value": "=%>"
}
]
}
]
},
"comment_directive": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<%#"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "code"
},
"named": true,
"value": "comment"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "%>"
}
]
},
"graphql_directive": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<%graphql"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "code"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "%>"
}
]
}
},
"extras": [],
"conflicts": [],
"precedences": [],
"externals": [],
"inline": [],
"supertypes": []
}