llvm-project/mlir/utils/textmate/mlir.json

116 lines
2.3 KiB
JSON

{
"fileTypes": [
"mlir"
],
"repository": {
"attribute": {
"match": "\\W[\\w_][\\w\\d_.$]*\\s*=",
"name": "meta.attribute.mlir"
},
"branch_target": {
"match": "\\^bb[\\w\\d_$\\.-]+",
"name": "entity.name.label.mlir"
},
"comment": {
"match": "\/\/.*$",
"name": "comment.line.double-slash.mlir"
},
"identifier": {
"match": "[\\%#@][\\w_][\\w\\d_.$]*",
"captures": {
"0": {
"name": "variable.mlir"
}
},
"name": "meta.identifier.mlir"
},
"integer": {
"match": "[\\Wx]([0-9]+)",
"captures": {
"1": {
"name": "constant.numeric.mlir"
}
},
"name": "meta.identifier.mlir"
},
"string": {
"end": "\"",
"begin": "\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.mlir"
}
},
"patterns": [
{
"match": "\\\\[nt\"]",
"name": "constant.character.escape.mlir"
},
{
"match": "\\\\.",
"name": "invalid.illegal.mlir"
}
],
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.mlir"
}
},
"name": "string.quoted.double.mlir"
},
"types": {
"match": "[\\Wx](index|i[1-9][0-9]*|f16|bf16|f32|f64|memref|tensor|vector)\\b",
"captures": {
"1": {
"name": "storage.type.mlir"
}
},
"name": "meta.types.simple.mlir"
}
},
"patterns": [
{
"include": "#comment"
},
{
"include": "#string"
},
{
"match": "\\b(func)\\b\\s*(|private|public)\\s*(@[\\w_][\\w\\d_.$]*)",
"captures": {
"1": {
"name": "keyword.function.mlir"
},
"2": {
"name": "keyword.function.mlir"
},
"3": {
"name": "entity.name.function.mlir"
}
},
"name": "support.function.mlir"
},
{
"match": "\\b(attributes|br|call|constant|loc|return)\\b",
"name": "keyword.module.mlir"
},
{
"include": "#identifier"
},
{
"include": "#branch_target"
},
{
"include": "#attribute"
},
{
"include": "#types"
},
{
"include": "#integer"
}
],
"name": "MLIR",
"scopeName": "source.mlir"
}