{"name":"Stata","scopeName":"source.stata","patterns":[{"name":"string.quoted.double.stata","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.stata"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.stata"}}},{"name":"string.quoted.double.compound.stata","begin":"`\"","end":"\"'","patterns":[{"include":"#cdq_string_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.stata"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.stata"}}},{"name":"comment.block.stata","begin":"/\\*","end":"\\*/","patterns":[{"include":"#cb_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.stata"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.stata"}}},{"name":"comment.line.star.stata","match":"^\\s*(\\*).*$\\n?","captures":{"0":{"name":"punctuation.definition.comment.stata"}}},{"name":"comment.line.triple-slash.stata","match":"(///).*$\\n?","captures":{"0":{"name":"punctuation.definition.comment.stata"}}},{"name":"comment.line.double-slash.stata","match":"(//).*$\\n?","captures":{"0":{"name":"punctuation.definition.comment.stata"}}},{"name":"keyword.operator.arithmetic.stata","match":"\\+|\\-|\\*|\\^"},{"name":"keyword.operator.arithmetic.stata","match":"(?\u003c![a-zA-Z.])/(?![a-zA-Z.]|$)"},{"name":"keyword.operator.logical.stata","match":"\\\u0026|\\||!|~"},{"name":"keyword.operator.comparison.stata","match":"\u003c|\u003e|\u003c\\=|\u003e\\=|\\=\\=|!\\=|~\\="},{"name":"keyword.operator.assignment.stata","match":"\\="},{"name":"keyword.control.flow.stata","match":"\\b(while|forv(a|al|alu|alue|alues)?|continue)\\b"},{"match":"\\b(foreach)\\s+[a-zA-Z0-9_]+\\s+(in|of loc(a|al)?|of glo(b|ba|bal)?|of var(l|li|lis|list)?|of new(l|li|lis|list)?|of num(l|li|lis|list)?)\\b","captures":{"1":{"name":"keyword.control.flow.stata"},"2":{"name":"keyword.control.flow.stata"}}},{"match":"^\\s*(if|else if|else)\\b","captures":{"1":{"name":"keyword.control.flow.stata"}}},{"match":"^\\s*(gl(o|ob|oba|obal)?|loc(a|al)?|tempvar|tempname|tempfile)\\b","captures":{"1":{"name":"storage.type.macro.stata"}}},{"match":"^\\s*(sca(l|la|lar)?(\\s+de(f|fi|fin|fine)?)?)\\s+(?!(drop|dir?|l(i|is|ist)?)\\s+)","captures":{"1":{"name":"storage.type.scalar.stata"}}},{"match":"(^|:|{|qui(e|et|etl|etly)?\\s+|n(o|oi|ois|oisi|oisil|oisily)?\\s+)\\s*(by(s|so|sor|sort)?)((\\s|,)[^:]*)?(?=:)","captures":{"4":{"name":"keyword.control.flow.stata"},"5":{"name":"keyword.control.flow.stata"}}},{"match":"(^|:|{|qui(e|et|etl|etly)?\\s+|n(o|oi|ois|oisi|oisil|oisily)?\\s+)\\s*((g(e|en|ene|ener|enera|enerat|enerate)?)|replace|egen)\\b","captures":{"4":{"name":"storage.type.variable.stata"}}},{"name":"meta.embedded.block.mata","contentName":"source.mata","begin":"^\\s*mata:?\\s*$","end":"^\\s*end\\s*$\\n?","patterns":[{"include":"source.mata"}]}],"repository":{"cb_content":{"begin":"/\\*","end":"\\*/","patterns":[{"include":"#cb_content"}]},"cdq_string_content":{"begin":"`\"","end":"\"'","patterns":[{"include":"#cdq_string_content"}]}}}
