{"name":"Rego","scopeName":"source.rego","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#operator"},{"include":"#term"}],"repository":{"call":{"name":"meta.function-call.rego","match":"([a-zA-Z_][a-zA-Z0-9_]*)\\(","captures":{"1":{"name":"support.function.any-method.rego"}}},"comment":{"name":"comment.line.number-sign.rego","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.rego"}}},"constant":{"name":"constant.language.rego","match":"\\b(?:true|false|null)\\b"},"keyword":{"name":"keyword.other.rego","match":"(^|\\s+)(?:(default|not|package|import|as|with|else|some|in|every|if|contains))\\s+"},"number":{"name":"constant.numeric.rego","match":"(?x: # turn on extended mode\n -? # an optional minus\n (?:\n 0 # a zero\n | # ...or...\n [1-9] # a 1-9 character\n \\d* # followed by zero or more digits\n )\n (?:\n (?:\n \\. # a period\n \\d+ # followed by one or more digits\n )?\n (?:\n [eE] # an e character\n [+-]? # followed by an option +/-\n \\d+ # followed by one or more digits\n )? # make exponent optional\n )? # make decimal portion optional\n )"},"operator":{"patterns":[{"name":"keyword.operator.comparison.rego","match":"\\=|\\!\\=|\u003e|\u003c|\u003c\\=|\u003e\\=|\\+|-|\\*|%|/|\\||\u0026|:\\="}]},"string":{"patterns":[{"name":"string.quoted.double.rego","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.rego","match":"(?x: # turn on extended mode\n\t\t\t\t\t\\\\ # a literal backslash\n\t\t\t\t\t(?: # ...followed by...\n\t\t\t\t\t\t[\"\\\\/bfnrt] # one of these characters\n\t\t\t\t\t\t| # ...or...\n\t\t\t\t\t\tu # a u\n\t\t\t\t\t\t[0-9a-fA-F]{4} # and four hex digits\n\t\t\t\t\t)\n\t\t\t\t\t)"},{"name":"invalid.illegal.unrecognized-string-escape.rego","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.rego"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.rego"}}},{"name":"string.other.raw.rego","begin":"`","end":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.rego"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.rego"}}}]},"term":{"patterns":[{"include":"#constant"},{"include":"#string"},{"include":"#number"},{"include":"#call"},{"include":"#variable"}]},"variable":{"name":"meta.identifier.rego","match":"\\b[[:alpha:]_][[:alnum:]_]*\\b"}}}