{"name":"Cap’n Proto","scopeName":"source.capnp","patterns":[{"match":"\\b(struct)(?:\\s+([A-Za-z]+))?","captures":{"1":{"name":"keyword.other.struct.capnp"},"2":{"name":"entity.name.type.capnp"}}},{"name":"keyword.other.capnp","match":"\\b(using|import|union|enum|const|interface|annotation)\\b"},{"name":"storage.type.builtin.capnp","match":":(Void|Bool|U?Int(8|16|32|64)|Float(32|64)|Text|Data|List\\([.a-zA-Z0-9()]*\\)|Object|union|group)"},{"name":"storage.type.custom.capnp","match":":[.a-zA-Z0-9()]+"},{"name":"constant.language.capnp","match":"\\b(true|false|void)\\b"},{"name":"constant.numeric.capnp","match":"\\b(0x[0-9A-Fa-f]+|\\d+(\\.\\d+)?)\\b"},{"name":"constant.numeric.unique-id.capnp","match":"@0x[0-9A-Fa-f]+"},{"name":"constant.numeric.ordinal.capnp","match":"@\\d+"},{"name":"string.quoted.double.capnp","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.capnp","match":"\\."}]},{"begin":"(^[ \\t]+)?(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.capnp","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.capnp"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.capnp"}}},{"match":"(\\{)(\\})","captures":{"1":{"name":"punctuation.section.block.begin.capnp"},"2":{"name":"punctuation.section.block.end.capnp"}}}]}
