{ "scopeName": "source.spirv", "name": "SPIR-V", "comment": "Generated by {{GenerateArguments}}. Do not modify this file directly.", "patterns": [ {{range $o := .All.OperandKinds}}{{if len $o.Enumerants}} { "include": "#{{$o.Category}}_{{$o.Kind}}" }, {{end}}{{end}} { "include": "#opcode" }, { "include": "#extopcode" }, { "include": "#identifier" }, { "include": "#number" }, { "include": "#string" }, { "include": "#comment" }, { "include": "#operator" } ], "repository": { {{range $o := .All.OperandKinds}}{{if len $o.Enumerants}} "{{$o.Category}}_{{$o.Kind}}": { "match": "\\b({{OperandKindsMatch $o}})\\b", "name": "keyword.spirv" },{{end}}{{end}} "opcode": { "match": "(Op[a-zA-Z]+)", "name": "entity.name.function.spirv" }, "extopcode": { "match": "({{AllExtOpcodes}})", "name": "entity.name.function.ext" }, "identifier": { "match": "%[a-zA-Z0-9_]+", "name": "variable.spirv" }, "number": { "match": "\\b[0-9]+.?[0-9]*\\b", "name": "constant.numeric.spirv" }, "comment": { "match": ";[^\n]*", "name": "comment.line.spirv" }, "operator": { "match": "=", "name": "keyword.operator.spirv" }, "string": { "begin": "\"", "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.spirv" } }, "end": "\"", "endCaptures": { "0": { "name": "punctuation.definition.string.end.spirv" } }, "name": "string.quoted.double.spirv", "patterns": [ { "include": "#string_escaped_char" } ] }, "string_escaped_char": { "patterns": [ { "match": "\\\\([0-7]{3}|[abfnrtv\\\\'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})", "name": "constant.character.escape.spirv" }, { "match": "\\\\[^0-7xuUabfnrtv\\'\"]", "name": "invalid.illegal.unknown-escape.spirv" } ] } } }