iproto
Version:
62 lines (61 loc) • 1.47 kB
JSON
{
"name": "iproto",
"scopeName": "source.iproto",
"fileTypes": [
".iproto"
],
"patterns": [
{
"include": "#comments"
},
{
"name": "keyword.control.iproto",
"match": "\\b(alias|as|boolean|directive|endpoint|enum|exception|field|float|int|module|on|scalar|string|struct|use|variant|with)\\b"
},
{
"name": "string.quoted.double.iproto",
"begin": "\"",
"end": "\"",
"patterns": [
{
"include": "#string-character-escape"
}
]
}
],
"repository": {
"comments": {
"patterns": [
{
"name": "comment.block.iproto",
"begin": "--",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.iproto"
}
},
"end": "--",
"endCaptures": {
"0": {
"name": "punctuation.definition.comment.iproto"
}
}
},
{
"begin": "//",
"beginCaptures": {
"1": {
"name": "punctuation.whitespace.comment.leading.iproto"
}
},
"end": "(?=$)",
"name": "comment.line.iproto"
}
]
},
"string-character-escape": {
"name": "constant.character.escape.iproto",
"match": "\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\{[0-9A-Fa-f]+\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"
}
}
}