{"name":"WebAssembly Text Format","scopeName":"text.wat","patterns":[{"include":"#block-comment"},{"include":"#line-comment"},{"include":"#expr"}],"repository":{"op":{"match":"[a-zA-Z0-9!#$%&`*+\\-/:<=>?@\\\\^_|~\\.]+","name":"keyword"},"id":{"match":"\\$[A-Za-z0-9!#$%&`*+\\-/:<=>?@\\\\^_|~\\.]+","name":"variable"},"decimal-number":{"match":"\\b[+-]?[0-9_]+(.[0-9_]+)?([Ee][+-][0-9_]+)?\\b","name":"constant.numeric"},"hexadecimal-number":{"match":"\\b[+-]?0x[0-9a-fA-F_]+(.[0-9a-fA-F_]+)?([pP][+-][0-9a-fA-F_]+)?\\b","name":"constant.numeric"},"number-special":{"match":"\\b[+-]?(inf|nan(:0x[0-9]+)?)\\b","name":"constant.numeric"},"memarg":{"match":"\\b(offset|align)(=)([0-9_]+)\\b","name":"keyword","captures":{"1":{"name":"keyword"},"2":{"name":"keyword.operator.arithmetic"},"3":{"name":"constant.numeric"}}},"any-number":{"patterns":[{"include":"#decimal-number"},{"include":"#hexadecimal-number"},{"include":"#number-special"}]},"types":{"match":"\\b([if](32|64)|v128|funcref|externref|func|extern|func|param|result|mut)\\b","name":"keyword"},"string":{"begin":"\"","end":"\"","name":"string.quoted","patterns":[{"name":"constant.character.escape","match":"\\\\[\"\\\\]"}]},"line-comment":{"match":";;.*$","name":"comment.line.double-semicolon"},"block-comment":{"begin":"\\(;","end":";\\)","name":"comment.block"},"expr":{"begin":"\\(","end":"\\)","beginCaptures":{"0":{"name":"punctuation.paren.open"}},"endCaptures":{"0":{"name":"punctuation.paren.close"}},"name":"expression.group","patterns":[{"include":"#block-comment"},{"include":"$self"},{"include":"#types"},{"include":"#line-comment"},{"include":"#any-number"},{"include":"#memarg"},{"include":"#id"},{"include":"#string"},{"include":"#op"}]}}}