import sql from './sql.mjs' const lang = Object.freeze(JSON.parse("{\"displayName\":\"Stata\",\"fileTypes\":[\"do\",\"ado\",\"mata\"],\"foldingStartMarker\":\"\\\\{\\\\s*$\",\"foldingStopMarker\":\"^\\\\s*\\\\}\",\"name\":\"stata\",\"patterns\":[{\"include\":\"#ascii-regex-functions\"},{\"include\":\"#unicode-regex-functions\"},{\"include\":\"#constants\"},{\"include\":\"#functions\"},{\"include\":\"#comments\"},{\"include\":\"#subscripts\"},{\"include\":\"#operators\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"},{\"include\":\"#string-compound\"},{\"include\":\"#string-regular\"},{\"include\":\"#builtin_variables\"},{\"include\":\"#macro-commands\"},{\"comment\":\"keywords that delimit flow conditionals\",\"match\":\"\\\\b(if|else if|else)\\\\b\",\"name\":\"keyword.control.conditional.stata\"},{\"captures\":{\"1\":{\"name\":\"storage.type.scalar.stata\"}},\"match\":\"^\\\\s*(sca(lar|la|l)?(\\\\s+de(fine|fin|fi|f)?)?)\\\\s+(?!(drop|dir?|l(ist|is|i)?)\\\\s+)\"},{\"begin\":\"\\\\b(mer(ge|g)?)\\\\s+(1|m|n)(:)(1|m|n)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.stata\"},\"3\":{\"patterns\":[{\"include\":\"#constants\"},{\"match\":\"m|n\",\"name\":\"\"}]},\"4\":{\"name\":\"punctuation.separator.key-value\"},\"5\":{\"patterns\":[{\"include\":\"#constants\"},{\"match\":\"m|n\",\"name\":\"\"}]}},\"end\":\"using\",\"patterns\":[{\"include\":\"#builtin_variables\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"},{\"include\":\"#comments\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.stata\"},\"2\":{\"patterns\":[{\"include\":\"#macro-local-identifiers\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"}]},\"3\":{\"name\":\"keyword.control.flow.stata\"}},\"match\":\"\\\\b(foreach)\\\\s+((?!in|of).+)\\\\s+(in|of var(list|lis|li|l)?|of new(list|lis|li|l)?|of num(list|lis|li|l)?)\\\\b\"},{\"begin\":\"\\\\b(foreach)\\\\s+((?!in|of).+)\\\\s+(of loc(al|a)?|of glo(bal|ba|b)?)\\\\b\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.stata\"},\"2\":{\"patterns\":[{\"include\":\"#macro-local-identifiers\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"}]},\"3\":{\"name\":\"keyword.control.flow.stata\"}},\"end\":\"(?=\\\\s*\\\\{)\",\"patterns\":[{\"include\":\"#macro-local-identifiers\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"}]},{\"begin\":\"\\\\b(forvalues|forvalue|forvalu|forval|forva|forv)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.stata\"}},\"end\":\"\\\\s*(=)\\\\s*([^\\\\{]+)\\\\s*|(?=\\\\n)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.stata\"},\"2\":{\"patterns\":[{\"include\":\"#constants\"},{\"include\":\"#operators\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"}]}},\"patterns\":[{\"include\":\"#macro-local-identifiers\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"}]},{\"comment\":\"keywords that delimit loops\",\"match\":\"\\\\b(while|continue)\\\\b\",\"name\":\"keyword.control.flow.stata\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.stata\"}},\"comment\":\"keywords that haven't fit into other groups (yet).\",\"match\":\"\\\\b(as|ass|asse|asser|assert)\\\\b\"},{\"comment\":\"prefixes that require a colon\",\"match\":\"\\\\b(by(sort|sor|so|s)?|statsby|rolling|bootstrap|jackknife|permute|simulate|svy|mi est(imate|imat|ima|im|i)?|nestreg|stepwise|xi|fp|mfp|vers(ion|io|i)?)\\\\b\",\"name\":\"storage.type.function.stata\"},{\"comment\":\"prefixes that don't need a colon\",\"match\":\"\\\\b(qui(etly|etl|et|e)?|n(oisily|oisil|oisi|ois|oi|o)?|cap(ture|tur|tu|t)?)\\\\b:?\",\"name\":\"keyword.control.flow.stata\"},{\"captures\":{\"1\":{\"name\":\"storage.type.function.stata\"},\"3\":{\"name\":\"storage.type.function.stata\"},\"7\":{\"name\":\"entity.name.function.stata\"}},\"match\":\"\\\\s*(pr(ogram|ogra|ogr|og|o)?)\\\\s+((di(r)?|drop|l(ist|is|i)?)\\\\s+)([\\\\w&&[^0-9]]\\\\w{0,31})\"},{\"begin\":\"^\\\\s*(pr(ogram|ogra|ogr|og|o)?)\\\\s+(de(fine|fin|fi|f)?\\\\s+)?\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.stata\"},\"3\":{\"name\":\"storage.type.function.stata\"}},\"end\":\"(?=,|\\\\n|/)\",\"patterns\":[{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"},{\"match\":\"[\\\\w&&[^0-9]]\\\\w{0,31}\",\"name\":\"entity.name.function.stata\"},{\"match\":\"[^A-za-z_0-9,\\\\n/ ]+\",\"name\":\"invalid.illegal.name.stata\"}]},{\"captures\":{\"1\":\"keyword.functions.data.stata.test\"},\"match\":\"\\\\b(form(at|a)?)\\\\s*([\\\\w&&[^0-9]]\\\\w{0,31})*\\\\s*(%)(-)?(0)?([0-9]+)(.)([0-9]+)(e|f|g)(c)?\"},{\"include\":\"#braces-with-error\"},{\"begin\":\"(?=syntax)\",\"end\":\"\\\\n\",\"patterns\":[{\"begin\":\"syntax\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.functions.program.stata\"}},\"comment\":\"color before the comma\",\"end\":\"(?=,|\\\\n)\",\"patterns\":[{\"begin\":\"///\",\"end\":\"\\\\n\",\"name\":\"comment.block.stata\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.parameters.begin.stata\"},{\"match\":\"\\\\]\",\"name\":\"punctuation.definition.parameters.end.stata\"},{\"match\":\"\\\\b(varlist|varname|newvarlist|newvarname|namelist|name|anything)\\\\b\",\"name\":\"entity.name.type.class.stata\"},{\"captures\":{\"2\":{\"name\":\"entity.name.type.class.stata\"},\"3\":{\"name\":\"keyword.operator.arithmetic.stata\"}},\"match\":\"\\\\b((if|in|using|fweight|aweight|pweight|iweight))\\\\b(/)?\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.arithmetic.stata\"},\"2\":{\"name\":\"entity.name.type.class.stata\"}},\"match\":\"(/)?(exp)\"},{\"include\":\"#constants\"},{\"include\":\"#operators\"},{\"include\":\"#string-compound\"},{\"include\":\"#string-regular\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"},{\"include\":\"#builtin_variables\"}]},{\"begin\":\",\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.variable.begin.stata\"}},\"comment\":\"things to color after the comma\",\"end\":\"(?=\\\\n)\",\"patterns\":[{\"begin\":\"///\",\"end\":\"\\\\n\",\"name\":\"comment.block.stata\"},{\"begin\":\"([^\\\\s\\\\[\\\\]]+)(\\\\()\",\"beginCaptures\":{\"1\":{\"comment\":\"these are the names that become macros\",\"patterns\":[{\"include\":\"#macro-local-identifiers\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"}]},\"2\":{\"name\":\"keyword.operator.parentheses.stata\"}},\"comment\":\"color options with parentheses\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"keyword.operator.parentheses.stata\"}},\"patterns\":[{\"captures\":{\"0\":{\"name\":\"support.type.stata\"}},\"comment\":\"the first word is often a type\",\"match\":\"\\\\b(integer|intege|integ|inte|int|real|string|strin|stri|str)\\\\b\"},{\"include\":\"#constants\"},{\"include\":\"#operators\"},{\"include\":\"#string-compound\"},{\"include\":\"#string-regular\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"},{\"include\":\"#builtin_variables\"}]},{\"include\":\"#macro-local-identifiers\"},{\"include\":\"#constants\"},{\"include\":\"#operators\"},{\"include\":\"#string-compound\"},{\"include\":\"#string-regular\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"},{\"include\":\"#builtin_variables\"}]}]},{\"captures\":{\"1\":{\"name\":\"keyword.functions.data.stata\"}},\"comment\":\"one-word commands\",\"match\":\"\\\\b(sa(v|ve)|saveold|destring|tostring|u(se|s)?|note(s)?|form(at|a)?)\\\\b\"},{\"comment\":\"programming commands\",\"match\":\"\\\\b(exit|end)\\\\b\",\"name\":\"keyword.functions.data.stata\"},{\"captures\":{\"1\":{\"name\":\"keyword.functions.data.stata\"},\"2\":{\"patterns\":[{\"include\":\"#macro-local\"}]},\"4\":{\"name\":\"invalid.illegal.name.stata\"},\"5\":{\"name\":\"keyword.operator.assignment.stata\"}},\"match\":\"\\\\b(replace)\\\\s+([^=]+)\\\\s*((==)|(=))\"},{\"captures\":{\"1\":{\"name\":\"keyword.functions.data.stata\"},\"3\":{\"name\":\"support.type.stata\"},\"5\":{\"patterns\":[{\"include\":\"#reserved-names\"},{\"include\":\"#macro-local\"}]},\"7\":{\"name\":\"invalid.illegal.name.stata\"},\"8\":{\"name\":\"keyword.operator.assignment.stata\"}},\"match\":\"\\\\b(g(enerate|enerat|enera|ener|ene|en|e)?|egen)\\\\s+((byte|int|long|float|double|str[1-9]?[0-9]?[0-9]?[0-9]?|strL)\\\\s+)?([^=\\\\s]+)\\\\s*((==)|(=))\"},{\"captures\":{\"1\":{\"name\":\"keyword.functions.data.stata\"},\"3\":{\"name\":\"support.type.stata\"}},\"match\":\"\\\\b(set ty(pe|p)?)\\\\s+((byte|int|long|float|double|str[1-9]?[0-9]?[0-9]?[0-9]?|strL)?\\\\s+)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"keyword.functions.data.stata\"},\"3\":{\"name\":\"keyword.functions.data.stata\"},\"6\":{\"name\":\"punctuation.definition.string.begin.stata\"},\"7\":{\"patterns\":[{\"include\":\"#string-compound\"},{\"include\":\"#macro-local-escaped\"},{\"include\":\"#macro-global-escaped\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"},{\"match\":\"[^`\\\\$]{81,}\",\"name\":\"invalid.illegal.name.stata\"},{\"match\":\".\",\"name\":\"string.quoted.double.compound.stata\"}]},\"8\":{\"name\":\"punctuation.definition.string.begin.stata\"}},\"match\":\"\\\\b(la(bel|be|b)?)\\\\s+(var(iable|iabl|iab|ia|i)?)\\\\s+([\\\\w&&[^0-9]]\\\\w{0,31})\\\\s+(`\\\")(.+)(\\\"')\"},{\"captures\":{\"1\":{\"name\":\"keyword.functions.data.stata\"},\"3\":{\"name\":\"keyword.functions.data.stata\"},\"6\":{\"name\":\"punctuation.definition.string.begin.stata\"},\"7\":{\"patterns\":[{\"include\":\"#macro-local-escaped\"},{\"include\":\"#macro-global-escaped\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"},{\"match\":\"[^`\\\\$]{81,}\",\"name\":\"invalid.illegal.name.stata\"},{\"match\":\".\",\"name\":\"string.quoted.double.stata\"}]},\"8\":{\"name\":\"punctuation.definition.string.begin.stata\"}},\"match\":\"\\\\b(la(bel|be|b)?)\\\\s+(var(iable|iabl|iab|ia|i)?)\\\\s+([\\\\w&&[^0-9]]\\\\w{0,31})\\\\s+(\\\")(.+)(\\\")\"},{\"captures\":{\"1\":{\"name\":\"keyword.functions.data.stata\"},\"3\":{\"name\":\"keyword.functions.data.stata\"}},\"match\":\"\\\\b(la(bel|be|b)?)\\\\s+(da(ta|t)?|var(iable|iabl|iab|ia|i)?|de(f|fi|fin|fine)?|val(ues|ue|u)?|di(r)?|l(ist|is|i)?|copy|drop|save|lang(uage|uag|ua|u)?)\\\\b\"},{\"begin\":\"\\\\b(drop|keep)\\\\b(?!\\\\s+(if|in)\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.functions.data.stata\"}},\"end\":\"\\\\n\",\"patterns\":[{\"match\":\"\\\\b(if|in)\\\\b\",\"name\":\"invalid.illegal.name.stata\"},{\"include\":\"#comments\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"},{\"include\":\"#operators\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.functions.data.stata\"},\"2\":{\"name\":\"keyword.functions.data.stata\"}},\"match\":\"\\\\b(drop|keep)\\\\s+(if|in)\\\\b\"},{\"begin\":\"^\\\\s*mata:?\\\\s*$\",\"comment\":\"won't match single-line Mata statements\",\"end\":\"^\\\\s*end\\\\s*$\\\\n?\",\"name\":\"meta.embedded.block.mata\",\"patterns\":[{\"match\":\"(?\\\\=|\\\\<\\\\=|\\\\<|\\\\>|\\\\!\\\\=|\\\\#|\\\\+|\\\\-|\\\\*|\\\\^|\\\\/\",\"name\":\"keyword.operator.mata\"},{\"include\":\"$self\"}]},{\"begin\":\"\\\\b(odbc)\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.flow.stata\"}},\"end\":\"\\\\n\",\"patterns\":[{\"begin\":\"///\",\"end\":\"\\\\n\",\"name\":\"comment.block.stata\"},{\"begin\":\"(exec?)(\\\\(\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.builtin.stata\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.stata\"}},\"end\":\"\\\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.stata\"}},\"patterns\":[{\"include\":\"source.sql\"}]},{\"include\":\"$self\"}]},{\"include\":\"#commands-other\"}],\"repository\":{\"ascii-regex-character-class\":{\"patterns\":[{\"match\":\"\\\\\\\\[\\\\*\\\\+\\\\?\\\\-\\\\.\\\\^\\\\$\\\\|\\\\[\\\\]\\\\(\\\\)\\\\\\\\]\",\"name\":\"constant.character.escape.backslash.stata\"},{\"match\":\"\\\\.\",\"name\":\"constant.character.character-class.stata\"},{\"match\":\"\\\\\\\\.\",\"name\":\"illegal.invalid.character-class.stata\"},{\"begin\":\"(\\\\[)(\\\\^)?\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.character-class.stata\"},\"2\":{\"name\":\"keyword.operator.negation.stata\"}},\"end\":\"(\\\\])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.character-class.stata\"}},\"name\":\"constant.other.character-class.set.stata\",\"patterns\":[{\"include\":\"#ascii-regex-character-class\"},{\"captures\":{\"2\":{\"name\":\"constant.character.escape.backslash.stata\"},\"4\":{\"name\":\"constant.character.escape.backslash.stata\"}},\"match\":\"((\\\\\\\\.)|.)\\\\-((\\\\\\\\.)|[^\\\\]])\",\"name\":\"constant.other.character-class.range.stata\"}]}]},\"ascii-regex-functions\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"support.function.builtin.stata\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.stata\"},\"3\":{\"patterns\":[{\"include\":\"#string-compound\"},{\"include\":\"#string-regular\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"},{\"include\":\"#functions\"},{\"match\":\"[\\\\w&&[^0-9]]\\\\w{0,31}\",\"name\":\"variable.parameter.function.stata\"},{\"include\":\"#comments-triple-slash\"}]},\"4\":{\"name\":\"punctuation.definition.variable.begin.stata\"},\"5\":{\"name\":\"punctuation.definition.string.begin.stata\"},\"6\":{\"patterns\":[{\"include\":\"#ascii-regex-internals\"}]},\"7\":{\"name\":\"punctuation.definition.string.end.stata\"},\"8\":{\"name\":\"invalid.illegal.punctuation.stata\"},\"9\":{\"name\":\"punctuation.definition.parameters.end.stata\"}},\"comment\":\"color regexm with regular quotes i.e. \\\" \",\"match\":\"\\\\b(regexm)(\\\\()([^,]+)(,)\\\\s*(\\\")([^\\\"]+)(\\\"(')?)\\\\s*(\\\\))\"},{\"captures\":{\"1\":{\"name\":\"support.function.builtin.stata\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.stata\"},\"3\":{\"patterns\":[{\"include\":\"#string-compound\"},{\"include\":\"#string-regular\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"},{\"include\":\"#functions\"},{\"match\":\"[\\\\w&&[^0-9]]\\\\w{0,31}\",\"name\":\"variable.parameter.function.stata\"},{\"include\":\"#comments-triple-slash\"}]},\"4\":{\"name\":\"punctuation.definition.variable.begin.stata\"},\"5\":{\"name\":\"punctuation.definition.string.begin.stata\"},\"6\":{\"patterns\":[{\"include\":\"#ascii-regex-internals\"}]},\"7\":{\"name\":\"punctuation.definition.string.end.stata\"},\"8\":{\"name\":\"punctuation.definition.parameters.end.stata\"}},\"comment\":\"color regexm with compound quotes\",\"match\":\"\\\\b(regexm)(\\\\()([^,]+)(,)\\\\s*(`\\\")([^\\\"]+)(\\\"')\\\\s*(\\\\))\"},{\"captures\":{\"1\":{\"name\":\"support.function.builtin.stata\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.stata\"},\"3\":{\"patterns\":[{\"include\":\"#string-compound\"},{\"include\":\"#string-regular\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"},{\"include\":\"#functions\"},{\"match\":\"[\\\\w&&[^0-9]]\\\\w{0,31}\",\"name\":\"variable.parameter.function.stata\"},{\"include\":\"#comments\"}]},\"4\":{\"name\":\"punctuation.definition.variable.begin.stata\"},\"5\":{\"name\":\"punctuation.definition.string.begin.stata\"},\"6\":{\"patterns\":[{\"include\":\"#ascii-regex-internals\"}]},\"7\":{\"name\":\"punctuation.definition.string.end.stata\"},\"8\":{\"name\":\"invalid.illegal.punctuation.stata\"},\"9\":{\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.definition.variable.begin.stata\"},{\"include\":\"#string-compound\"},{\"include\":\"#string-regular\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"},{\"include\":\"#functions\"},{\"match\":\"[\\\\w&&[^0-9]]\\\\w{0,31}\",\"name\":\"variable.parameter.function.stata\"},{\"include\":\"#comments-triple-slash\"}]},\"10\":{\"name\":\"punctuation.definition.parameters.end.stata\"}},\"comment\":\"color regexr with regular quotes i.e. \\\" \",\"match\":\"\\\\b(regexr)(\\\\()([^,]+)(,)\\\\s*(\\\")([^\\\"]+)(\\\"(')?)\\\\s*([^\\\\)]*)(\\\\))\"},{\"captures\":{\"1\":{\"name\":\"support.function.builtin.stata\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.stata\"},\"3\":{\"patterns\":[{\"include\":\"#string-compound\"},{\"include\":\"#string-regular\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"},{\"include\":\"#functions\"},{\"match\":\"[\\\\w&&[^0-9]]\\\\w{0,31}\",\"name\":\"variable.parameter.function.stata\"},{\"include\":\"#comments\"}]},\"4\":{\"name\":\"punctuation.definition.variable.begin.stata\"},\"5\":{\"name\":\"punctuation.definition.string.begin.stata\"},\"6\":{\"patterns\":[{\"include\":\"#ascii-regex-internals\"}]},\"7\":{\"name\":\"punctuation.definition.string.end.stata\"},\"8\":{\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.definition.variable.begin.stata\"},{\"include\":\"#string-compound\"},{\"include\":\"#string-regular\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"},{\"include\":\"#functions\"},{\"match\":\"[\\\\w&&[^0-9]]\\\\w{0,31}\",\"name\":\"variable.parameter.function.stata\"},{\"include\":\"#comments-triple-slash\"}]},\"9\":{\"name\":\"punctuation.definition.parameters.end.stata\"}},\"comment\":\"color regexr with compound quotes i.e. `\\\"text\\\"' \",\"match\":\"\\\\b(regexr)(\\\\()([^,]+)(,)\\\\s*(`\\\")([^\\\"]+)(\\\"')\\\\s*([^\\\\)]*)(\\\\))\"}]},\"ascii-regex-internals\":{\"patterns\":[{\"match\":\"\\\\^\",\"name\":\"keyword.control.anchor.stata\"},{\"comment\":\"matched when not a global, but must be ascii\",\"match\":\"\\\\$(?![a-zA-Z_\\\\{])\",\"name\":\"keyword.control.anchor.stata\"},{\"match\":\"[\\\\?\\\\+\\\\*]\",\"name\":\"keyword.control.quantifier.stata\"},{\"match\":\"\\\\|\",\"name\":\"keyword.control.or.stata\"},{\"begin\":\"(\\\\()(?=\\\\?|\\\\*|\\\\+)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.group.stata\"}},\"contentName\":\"invalid.illegal.regexm.stata\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"keyword.operator.group.stata\"}}},{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.group.stata\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.group.stata\"}},\"patterns\":[{\"include\":\"#ascii-regex-internals\"}]},{\"include\":\"#ascii-regex-character-class\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"},{\"comment\":\"NOTE: Error if I have .+ No idea why but it works fine it seems with just .\",\"match\":\".\",\"name\":\"string.quoted.stata\"}]},\"braces-with-error\":{\"patterns\":[{\"begin\":\"(\\\\{)\\\\s*([^\\\\n]*)(?=\\\\n)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.block.begin.stata\"},\"2\":{\"patterns\":[{\"include\":\"#comments\"},{\"match\":\"[^\\\\n]+\",\"name\":\"illegal.invalid.name.stata\"}]}},\"comment\":\"correct with nothing else on the line but whitespace; before and after; before; after; correct\",\"end\":\"^\\\\s*(\\\\})\\\\s*$|^\\\\s*([^\\\\*\\\"\\\\}]+)\\\\s+(\\\\})\\\\s*([^\\\\*\\\"\\\\}/\\\\n]+)|^\\\\s*([^\\\"\\\\*\\\\}]+)\\\\s+(\\\\})|\\\\s*(\\\\})\\\\s*([^\\\"\\\\*\\\\}/\\\\n]+)|(\\\\})$\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.block.end.stata\"},\"2\":{\"name\":\"invalid.illegal.name.stata\"},\"3\":{\"name\":\"keyword.control.block.end.stata\"},\"4\":{\"name\":\"invalid.illegal.name.stata\"},\"5\":{\"name\":\"invalid.illegal.name.stata\"},\"6\":{\"name\":\"keyword.control.block.end.stata\"},\"7\":{\"name\":\"keyword.control.block.end.stata\"},\"8\":{\"name\":\"invalid.illegal.name.stata\"},\"9\":{\"name\":\"keyword.control.block.end.stata\"}},\"patterns\":[{\"include\":\"$self\"}]}]},\"braces-without-error\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.block.begin.stata\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.block.end.stata\"}}}]},\"builtin_types\":{\"patterns\":[{\"match\":\"\\\\b(byte|int|long|float|double|str[1-9]?[0-9]?[0-9]?[0-9]?|strL)\\\\b\",\"name\":\"support.type.stata\"}]},\"builtin_variables\":{\"patterns\":[{\"match\":\"\\\\b(_b|_coef|_cons|_n|_N|_rc|_se)\\\\b\",\"name\":\"variable.object.stata\"}]},\"commands-other\":{\"patterns\":[{\"comment\":\"Add on commands\",\"match\":\"\\\\b(reghdfe|ivreghdfe|ivreg2|outreg|gcollapse|gcontract|gegen|gisid|glevelsof|gquantiles)\\\\b\",\"name\":\"keyword.control.flow.stata\"},{\"comment\":\"Built in commands\",\"match\":\"\\\\b(about|ac|acprplot|ado|adopath|adoupdate|alpha|ameans|an|ano|anov|anova|anova_terms|anovadef|aorder|ap|app|appe|appen|append|arch|arch_dr|arch_estat|arch_p|archlm|areg|areg_p|args|arima|arima_dr|arima_estat|arima_p|asmprobit|asmprobit_estat|asmprobit_lf|asmprobit_mfx__dlg|asmprobit_p|avplot|avplots|bcskew0|bgodfrey|binreg|bip0_lf|biplot|bipp_lf|bipr_lf|bipr_p|biprobit|bitest|bitesti|bitowt|blogit|bmemsize|boot|bootsamp|boxco_l|boxco_p|boxcox|boxcox_p|bprobit|br|break|brier|bro|brow|brows|browse|brr|brrstat|bs|bsampl_w|bsample|bsqreg|bstat|bstrap|ca|ca_estat|ca_p|cabiplot|camat|canon|canon_estat|canon_p|caprojection|cat|cc|cchart|cci|cd|censobs_table|centile|cf|char|chdir|checkdlgfiles|checkestimationsample|checkhlpfiles|checksum|chelp|ci|cii|cl|class|classutil|clear|cli|clis|clist|clog|clog_lf|clog_p|clogi|clogi_sw|clogit|clogit_lf|clogit_p|clogitp|clogl_sw|cloglog|clonevar|clslistarray|cluster|cluster_measures|cluster_stop|cluster_tree|cluster_tree_8|clustermat|cmdlog|cnr|cnre|cnreg|cnreg_p|cnreg_sw|cnsreg|codebook|collaps4|collapse|colormult_nb|colormult_nw|compare|compress|conf|confi|confir|confirm|conren|cons|const|constr|constra|constrai|constrain|constraint|contract|copy|copyright|copysource|cor|corc|corr|corr2data|corr_anti|corr_kmo|corr_smc|corre|correl|correla|correlat|correlate|corrgram|cou|coun|count|cprplot|crc|cret|cretu|cretur|creturn|cross|cs|cscript|cscript_log|csi|ct|ct_is|ctset|ctst_st|cttost|cumsp|cumul|cusum|cutil|d|datasig|datasign|datasigna|datasignat|datasignatu|datasignatur|datasignature|datetof|db|dbeta|de|dec|deco|decod|decode|deff|des|desc|descr|descri|describ|describe|dfbeta|dfgls|dfuller|di|di_g|dir|dirstats|dis|discard|disp|disp_res|disp_s|displ|displa|display|do|doe|doed|doedi|doedit|dotplot|dprobit|drawnorm|ds|ds_util|dstdize|duplicates|durbina|dwstat|dydx|ed|edi|edit|eivreg|emdef|en|enc|enco|encod|encode|eq|erase|ereg|ereg_lf|ereg_p|ereg_sw|ereghet|ereghet_glf|ereghet_glf_sh|ereghet_gp|ereghet_ilf|ereghet_ilf_sh|ereghet_ip|eret|eretu|eretur|ereturn|err|erro|error|est|est_cfexist|est_cfname|est_clickable|est_expand|est_hold|est_table|est_unhold|est_unholdok|estat|estat_default|estat_summ|estat_vce_only|esti|estimates|etodow|etof|etomdy|expand|expandcl|fac|fact|facto|factor|factor_estat|factor_p|factor_pca_rotated|factor_rotate|factormat|fcast|fcast_compute|fcast_graph|fdades|fdadesc|fdadescr|fdadescri|fdadescrib|fdadescribe|fdasav|fdasave|fdause|fh_st|file|filefilter|fillin|find_hlp_file|findfile|findit|fit|fl|fli|flis|flist|fpredict|frac_adj|frac_chk|frac_cox|frac_ddp|frac_dis|frac_dv|frac_in|frac_mun|frac_pp|frac_pq|frac_pv|frac_wgt|frac_xo|fracgen|fracplot|fracpoly|fracpred|fron_ex|fron_hn|fron_p|fron_tn|fron_tn2|frontier|ftodate|ftoe|ftomdy|ftowdate|gamhet_glf|gamhet_gp|gamhet_ilf|gamhet_ip|gamma|gamma_d2|gamma_p|gamma_sw|gammahet|gdi_hexagon|gdi_spokes|genrank|genstd|genvmean|gettoken|gladder|glim_l01|glim_l02|glim_l03|glim_l04|glim_l05|glim_l06|glim_l07|glim_l08|glim_l09|glim_l10|glim_l11|glim_l12|glim_lf|glim_mu|glim_nw1|glim_nw2|glim_nw3|glim_p|glim_v1|glim_v2|glim_v3|glim_v4|glim_v5|glim_v6|glim_v7|glm|glm_p|glm_sw|glmpred|glogit|glogit_p|gmeans|gnbre_lf|gnbreg|gnbreg_p|gomp_lf|gompe_sw|gomper_p|gompertz|gompertzhet|gomphet_glf|gomphet_glf_sh|gomphet_gp|gomphet_ilf|gomphet_ilf_sh|gomphet_ip|gphdot|gphpen|gphprint|gprefs|gprobi_p|gprobit|gr|gr7|gr_copy|gr_current|gr_db|gr_describe|gr_dir|gr_draw|gr_draw_replay|gr_drop|gr_edit|gr_editviewopts|gr_example|gr_example2|gr_export|gr_print|gr_qscheme|gr_query|gr_read|gr_rename|gr_replay|gr_save|gr_set|gr_setscheme|gr_table|gr_undo|gr_use|graph|grebar|greigen|grmeanby|gs_fileinfo|gs_filetype|gs_graphinfo|gs_stat|gsort|gwood|h|hareg|hausman|haver|he|heck_d2|heckma_p|heckman|heckp_lf|heckpr_p|heckprob|hel|help|hereg|hetpr_lf|hetpr_p|hetprob|hettest|hexdump|hilite|hist|histogram|hlogit|hlu|hmeans|hotel|hotelling|hprobit|hreg|hsearch|icd9|icd9_ff|icd9p|iis|impute|imtest|inbase|include|inf|infi|infil|infile|infix|inp|inpu|input|ins|insheet|insp|inspe|inspec|inspect|integ|inten|intreg|intreg_p|intrg2_ll|intrg_ll|intrg_ll2|ipolate|iqreg|ir|irf|irf_create|irfm|iri|is_svy|is_svysum|isid|istdize|ivprobit|ivprobit_p|ivreg|ivreg_footnote|ivtob_lf|ivtobit|ivtobit_p|jacknife|jknife|jkstat|joinby|kalarma1|kap|kapmeier|kappa|kapwgt|kdensity|ksm|ksmirnov|ktau|kwallis|labelbook|ladder|levelsof|leverage|lfit|lfit_p|li|lincom|line|linktest|lis|list|lloghet_glf|lloghet_glf_sh|lloghet_gp|lloghet_ilf|lloghet_ilf_sh|lloghet_ip|llogi_sw|llogis_p|llogist|llogistic|llogistichet|lnorm_lf|lnorm_sw|lnorma_p|lnormal|lnormalhet|lnormhet_glf|lnormhet_glf_sh|lnormhet_gp|lnormhet_ilf|lnormhet_ilf_sh|lnormhet_ip|lnskew0|loadingplot|(?=|:=|==|!=|~=|<|>|=|!!|!)\",\"name\":\"keyword.operator.comparison.stata\"},{\"match\":\"\\\\(|\\\\)\",\"name\":\"keyword.operator.parentheses.stata\"},{\"match\":\"(##|#)\",\"name\":\"keyword.operator.factor-variables.stata\"},{\"match\":\"%\",\"name\":\"keyword.operator.format.stata\"},{\"match\":\":\",\"name\":\"punctuation.separator.key-value\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.parameters.begin.stata\"},{\"match\":\"\\\\]\",\"name\":\"punctuation.definition.parameters.end.stata\"},{\"match\":\",\",\"name\":\"punctuation.definition.variable.begin.stata\"},{\"match\":\";\",\"name\":\"keyword.operator.delimiter.stata\"}]},\"reserved-names\":{\"patterns\":[{\"match\":\"\\\\b(_all|_b|byte|_coef|_cons|double|float|if|in|int|long|_n|_N|_pi|_pred|_rc|_skip|str[0-9]+|strL|using|with)\\\\b\",\"name\":\"invalid.illegal.name.stata\"},{\"match\":\"[^\\\\w'`\\\\$\\\\(\\\\)\\\\s]\",\"name\":\"invalid.illegal.name.stata\"},{\"match\":\"[0-9][\\\\w]{31,}\",\"name\":\"invalid.illegal.name.stata\"},{\"match\":\"\\\\w{33,}\",\"name\":\"invalid.illegal.name.stata\"}]},\"string-compound\":{\"patterns\":[{\"begin\":\"`\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.stata\"}},\"end\":\"\\\"'|(?=\\n)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.stata\"}},\"name\":\"string.quoted.double.compound.stata\",\"patterns\":[{\"comment\":\"This must come before #string-regular and #string-compound to accurately color `\\\"\\\"\\\"' in strings\",\"match\":\"\\\"\",\"name\":\"string.quoted.double.compound.stata\"},{\"comment\":\"see https://github.com/kylebarron/language-stata/issues/53\",\"match\":\"```(?=[^']*\\\")\",\"name\":\"meta.markdown.code.block.stata\"},{\"include\":\"#string-regular\"},{\"include\":\"#string-compound\"},{\"include\":\"#macro-local-escaped\"},{\"include\":\"#macro-global-escaped\"},{\"include\":\"#macro-local\"},{\"include\":\"#macro-global\"}]}]},\"string-regular\":{\"patterns\":[{\"begin\":\"(?