UNPKG

tm-grammars

Version:
1,541 lines (1,540 loc) 40.2 kB
{ "displayName": "CodeQL", "fileTypes": [ "ql", "qll" ], "name": "codeql", "patterns": [ { "include": "#module-member" } ], "repository": { "abstract": { "match": "\\babstract(?![0-9A-Z_a-z])", "name": "storage.modifier.abstract.ql" }, "additional": { "match": "\\badditional(?![0-9A-Z_a-z])", "name": "storage.modifier.additional.ql" }, "and": { "match": "\\band(?![0-9A-Z_a-z])", "name": "keyword.other.and.ql" }, "annotation": { "patterns": [ { "include": "#bindingset-annotation" }, { "include": "#language-annotation" }, { "include": "#pragma-annotation" }, { "include": "#annotation-keyword" } ] }, "annotation-keyword": { "patterns": [ { "include": "#abstract" }, { "include": "#additional" }, { "include": "#bindingset" }, { "include": "#cached" }, { "include": "#default" }, { "include": "#deprecated" }, { "include": "#external" }, { "include": "#final" }, { "include": "#language" }, { "include": "#library" }, { "include": "#override" }, { "include": "#pragma" }, { "include": "#private" }, { "include": "#query" }, { "include": "#signature" }, { "include": "#transient" } ] }, "any": { "match": "\\bany(?![0-9A-Z_a-z])", "name": "keyword.quantifier.any.ql" }, "arithmetic-operator": { "match": "[-%*+/]", "name": "keyword.operator.arithmetic.ql" }, "as": { "match": "\\bas(?![0-9A-Z_a-z])", "name": "keyword.other.as.ql" }, "asc": { "match": "\\basc(?![0-9A-Z_a-z])", "name": "keyword.order.asc.ql" }, "at-lower-id": { "match": "@[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])" }, "avg": { "match": "\\bavg(?![0-9A-Z_a-z])", "name": "keyword.aggregate.avg.ql" }, "bindingset": { "match": "\\bbindingset(?![0-9A-Z_a-z])", "name": "storage.modifier.bindingset.ql" }, "bindingset-annotation": { "begin": "\\b(bindingset(?![0-9A-Z_a-z]))", "beginCaptures": { "1": { "patterns": [ { "include": "#bindingset" } ] } }, "end": "(?!(?:\\s|$|/[*/])|\\[)|(?<=])", "name": "meta.block.bindingset-annotation.ql", "patterns": [ { "include": "#bindingset-annotation-body" }, { "include": "#non-context-sensitive" } ] }, "bindingset-annotation-body": { "begin": "(\\[)", "beginCaptures": { "1": { "patterns": [ { "include": "#open-bracket" } ] } }, "end": "(])", "endCaptures": { "1": { "patterns": [ { "include": "#close-bracket" } ] } }, "name": "meta.block.bindingset-annotation-body.ql", "patterns": [ { "include": "#non-context-sensitive" }, { "match": "\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "name": "variable.parameter.ql" } ] }, "boolean": { "match": "\\bboolean(?![0-9A-Z_a-z])", "name": "keyword.type.boolean.ql" }, "by": { "match": "\\bby(?![0-9A-Z_a-z])", "name": "keyword.order.by.ql" }, "cached": { "match": "\\bcached(?![0-9A-Z_a-z])", "name": "storage.modifier.cached.ql" }, "class": { "match": "\\bclass(?![0-9A-Z_a-z])", "name": "keyword.other.class.ql" }, "class-body": { "begin": "(\\{)", "beginCaptures": { "1": { "patterns": [ { "include": "#open-brace" } ] } }, "end": "(})", "endCaptures": { "1": { "patterns": [ { "include": "#close-brace" } ] } }, "name": "meta.block.class-body.ql", "patterns": [ { "include": "#class-member" } ] }, "class-declaration": { "begin": "\\b(class(?![0-9A-Z_a-z]))", "beginCaptures": { "1": { "patterns": [ { "include": "#class" } ] } }, "end": "(?<=[;}])", "name": "meta.block.class-declaration.ql", "patterns": [ { "include": "#class-body" }, { "include": "#extends-clause" }, { "include": "#non-context-sensitive" }, { "match": "\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "name": "entity.name.type.class.ql" } ] }, "class-member": { "patterns": [ { "include": "#predicate-or-field-declaration" }, { "include": "#annotation" }, { "include": "#non-context-sensitive" } ] }, "close-angle": { "match": ">", "name": "punctuation.anglebracket.close.ql" }, "close-brace": { "match": "}", "name": "punctuation.curlybrace.close.ql" }, "close-bracket": { "match": "]", "name": "punctuation.squarebracket.close.ql" }, "close-paren": { "match": "\\)", "name": "punctuation.parenthesis.close.ql" }, "comma": { "match": ",", "name": "punctuation.separator.comma.ql" }, "comment": { "patterns": [ { "begin": "/\\*\\*", "end": "\\*/", "name": "comment.block.documentation.ql", "patterns": [ { "begin": "(?<=/\\*\\*)([^*]|\\*(?!/))*$", "patterns": [ { "match": "\\G\\s*(@\\S+)", "name": "keyword.tag.ql" } ], "while": "(^|\\G)\\s*([^*]|\\*(?!/))(?=([^*]|\\*(?!/))*$)" } ] }, { "begin": "/\\*", "end": "\\*/", "name": "comment.block.ql" }, { "match": "//.*$", "name": "comment.line.double-slash.ql" } ] }, "comment-start": { "match": "/[*/]" }, "comparison-operator": { "match": "!??=", "name": "keyword.operator.comparison.ql" }, "concat": { "match": "\\bconcat(?![0-9A-Z_a-z])", "name": "keyword.aggregate.concat.ql" }, "count": { "match": "\\bcount(?![0-9A-Z_a-z])", "name": "keyword.aggregate.count.ql" }, "date": { "match": "\\bdate(?![0-9A-Z_a-z])", "name": "keyword.type.date.ql" }, "default": { "match": "\\bdefault(?![0-9A-Z_a-z])", "name": "storage.modifier.default.ql" }, "deprecated": { "match": "\\bdeprecated(?![0-9A-Z_a-z])", "name": "storage.modifier.deprecated.ql" }, "desc": { "match": "\\bdesc(?![0-9A-Z_a-z])", "name": "keyword.order.desc.ql" }, "dont-care": { "match": "\\b_(?![0-9A-Z_a-z])", "name": "variable.language.dont-care.ql" }, "dot": { "match": "\\.", "name": "punctuation.accessor.ql" }, "dotdot": { "match": "\\.\\.", "name": "punctuation.operator.range.ql" }, "else": { "match": "\\belse(?![0-9A-Z_a-z])", "name": "keyword.other.else.ql" }, "end-of-as-clause": { "match": "(?<=[0-9A-Z_a-z])(?![0-9A-Z_a-z])(?<!(?<![0-9A-Z_a-z])as)|(?=\\s*(?!/[*/]|\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z]))\\S)|(?=\\s*\\b(?:_(?![0-9A-Z_a-z])|and(?![0-9A-Z_a-z])|any(?![0-9A-Z_a-z])|as(?![0-9A-Z_a-z])|asc(?![0-9A-Z_a-z])|avg(?![0-9A-Z_a-z])|boolean(?![0-9A-Z_a-z])|by(?![0-9A-Z_a-z])|class(?![0-9A-Z_a-z])|concat(?![0-9A-Z_a-z])|count(?![0-9A-Z_a-z])|date(?![0-9A-Z_a-z])|desc(?![0-9A-Z_a-z])|else(?![0-9A-Z_a-z])|exists(?![0-9A-Z_a-z])|extends(?![0-9A-Z_a-z])|false(?![0-9A-Z_a-z])|float(?![0-9A-Z_a-z])|forall(?![0-9A-Z_a-z])|forex(?![0-9A-Z_a-z])|from(?![0-9A-Z_a-z])|if(?![0-9A-Z_a-z])|implies(?![0-9A-Z_a-z])|import(?![0-9A-Z_a-z])|in(?![0-9A-Z_a-z])|instanceof(?![0-9A-Z_a-z])|int(?![0-9A-Z_a-z])|max(?![0-9A-Z_a-z])|min(?![0-9A-Z_a-z])|module(?![0-9A-Z_a-z])|newtype(?![0-9A-Z_a-z])|none(?![0-9A-Z_a-z])|not(?![0-9A-Z_a-z])|or(?![0-9A-Z_a-z])|order(?![0-9A-Z_a-z])|predicate(?![0-9A-Z_a-z])|rank(?![0-9A-Z_a-z])|result(?![0-9A-Z_a-z])|select(?![0-9A-Z_a-z])|strictconcat(?![0-9A-Z_a-z])|strictcount(?![0-9A-Z_a-z])|strictsum(?![0-9A-Z_a-z])|string(?![0-9A-Z_a-z])|sum(?![0-9A-Z_a-z])|super(?![0-9A-Z_a-z])|then(?![0-9A-Z_a-z])|this(?![0-9A-Z_a-z])|true(?![0-9A-Z_a-z])|unique(?![0-9A-Z_a-z])|where(?![0-9A-Z_a-z])))" }, "end-of-id": { "match": "(?![0-9A-Z_a-z])" }, "exists": { "match": "\\bexists(?![0-9A-Z_a-z])", "name": "keyword.quantifier.exists.ql" }, "expr-as-clause": { "begin": "\\b(as(?![0-9A-Z_a-z]))", "beginCaptures": { "1": { "patterns": [ { "include": "#as" } ] } }, "end": "(?<=[0-9A-Z_a-z])(?![0-9A-Z_a-z])(?<!(?<![0-9A-Z_a-z])as)|(?=\\s*(?!/[*/]|\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z]))\\S)|(?=\\s*\\b(?:_(?![0-9A-Z_a-z])|and(?![0-9A-Z_a-z])|any(?![0-9A-Z_a-z])|as(?![0-9A-Z_a-z])|asc(?![0-9A-Z_a-z])|avg(?![0-9A-Z_a-z])|boolean(?![0-9A-Z_a-z])|by(?![0-9A-Z_a-z])|class(?![0-9A-Z_a-z])|concat(?![0-9A-Z_a-z])|count(?![0-9A-Z_a-z])|date(?![0-9A-Z_a-z])|desc(?![0-9A-Z_a-z])|else(?![0-9A-Z_a-z])|exists(?![0-9A-Z_a-z])|extends(?![0-9A-Z_a-z])|false(?![0-9A-Z_a-z])|float(?![0-9A-Z_a-z])|forall(?![0-9A-Z_a-z])|forex(?![0-9A-Z_a-z])|from(?![0-9A-Z_a-z])|if(?![0-9A-Z_a-z])|implies(?![0-9A-Z_a-z])|import(?![0-9A-Z_a-z])|in(?![0-9A-Z_a-z])|instanceof(?![0-9A-Z_a-z])|int(?![0-9A-Z_a-z])|max(?![0-9A-Z_a-z])|min(?![0-9A-Z_a-z])|module(?![0-9A-Z_a-z])|newtype(?![0-9A-Z_a-z])|none(?![0-9A-Z_a-z])|not(?![0-9A-Z_a-z])|or(?![0-9A-Z_a-z])|order(?![0-9A-Z_a-z])|predicate(?![0-9A-Z_a-z])|rank(?![0-9A-Z_a-z])|result(?![0-9A-Z_a-z])|select(?![0-9A-Z_a-z])|strictconcat(?![0-9A-Z_a-z])|strictcount(?![0-9A-Z_a-z])|strictsum(?![0-9A-Z_a-z])|string(?![0-9A-Z_a-z])|sum(?![0-9A-Z_a-z])|super(?![0-9A-Z_a-z])|then(?![0-9A-Z_a-z])|this(?![0-9A-Z_a-z])|true(?![0-9A-Z_a-z])|unique(?![0-9A-Z_a-z])|where(?![0-9A-Z_a-z])))", "name": "meta.block.expr-as-clause.ql", "patterns": [ { "include": "#non-context-sensitive" }, { "match": "\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "name": "variable.other.ql" } ] }, "extends": { "match": "\\bextends(?![0-9A-Z_a-z])", "name": "keyword.other.extends.ql" }, "extends-clause": { "begin": "\\b(extends(?![0-9A-Z_a-z]))", "beginCaptures": { "1": { "patterns": [ { "include": "#extends" } ] } }, "end": "(?=\\{)", "name": "meta.block.extends-clause.ql", "patterns": [ { "include": "#non-context-sensitive" }, { "match": "\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])|@[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "name": "entity.name.type.ql" } ] }, "external": { "match": "\\bexternal(?![0-9A-Z_a-z])", "name": "storage.modifier.external.ql" }, "false": { "match": "\\bfalse(?![0-9A-Z_a-z])", "name": "constant.language.boolean.false.ql" }, "final": { "match": "\\bfinal(?![0-9A-Z_a-z])", "name": "storage.modifier.final.ql" }, "float": { "match": "\\bfloat(?![0-9A-Z_a-z])", "name": "keyword.type.float.ql" }, "float-literal": { "match": "-?[0-9]+\\.[0-9]+(?![0-9])", "name": "constant.numeric.decimal.ql" }, "forall": { "match": "\\bforall(?![0-9A-Z_a-z])", "name": "keyword.quantifier.forall.ql" }, "forex": { "match": "\\bforex(?![0-9A-Z_a-z])", "name": "keyword.quantifier.forex.ql" }, "from": { "match": "\\bfrom(?![0-9A-Z_a-z])", "name": "keyword.other.from.ql" }, "from-section": { "begin": "\\b(from(?![0-9A-Z_a-z]))", "beginCaptures": { "1": { "patterns": [ { "include": "#from" } ] } }, "end": "(?=\\b(?:select(?![0-9A-Z_a-z])|where(?![0-9A-Z_a-z])))", "name": "meta.block.from-section.ql", "patterns": [ { "include": "#non-context-sensitive" }, { "match": "\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])(?=\\s*(?:,|\\bwhere(?![0-9A-Z_a-z])|\\bselect(?![0-9A-Z_a-z])|$))", "name": "variable.parameter.ql" }, { "include": "#module-qualifier" }, { "match": "\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])|@[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "name": "entity.name.type.ql" }, { "match": "\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "name": "variable.parameter.ql" } ] }, "id-character": { "match": "[0-9A-Z_a-z]" }, "if": { "match": "\\bif(?![0-9A-Z_a-z])", "name": "keyword.other.if.ql" }, "implements": { "match": "\\bimplements(?![0-9A-Z_a-z])", "name": "keyword.other.implements.ql" }, "implements-clause": { "begin": "\\b(implements(?![0-9A-Z_a-z]))", "beginCaptures": { "1": { "patterns": [ { "include": "#implements" } ] } }, "end": "(?=\\{)", "name": "meta.block.implements-clause.ql", "patterns": [ { "include": "#non-context-sensitive" }, { "match": "\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])|@[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "name": "entity.name.type.ql" } ] }, "implies": { "match": "\\bimplies(?![0-9A-Z_a-z])", "name": "keyword.other.implies.ql" }, "import": { "match": "\\bimport(?![0-9A-Z_a-z])", "name": "keyword.other.import.ql" }, "import-as-clause": { "begin": "\\b(as(?![0-9A-Z_a-z]))", "beginCaptures": { "1": { "patterns": [ { "include": "#as" } ] } }, "end": "(?<=[0-9A-Z_a-z])(?![0-9A-Z_a-z])(?<!(?<![0-9A-Z_a-z])as)|(?=\\s*(?!/[*/]|\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z]))\\S)|(?=\\s*\\b(?:_(?![0-9A-Z_a-z])|and(?![0-9A-Z_a-z])|any(?![0-9A-Z_a-z])|as(?![0-9A-Z_a-z])|asc(?![0-9A-Z_a-z])|avg(?![0-9A-Z_a-z])|boolean(?![0-9A-Z_a-z])|by(?![0-9A-Z_a-z])|class(?![0-9A-Z_a-z])|concat(?![0-9A-Z_a-z])|count(?![0-9A-Z_a-z])|date(?![0-9A-Z_a-z])|desc(?![0-9A-Z_a-z])|else(?![0-9A-Z_a-z])|exists(?![0-9A-Z_a-z])|extends(?![0-9A-Z_a-z])|false(?![0-9A-Z_a-z])|float(?![0-9A-Z_a-z])|forall(?![0-9A-Z_a-z])|forex(?![0-9A-Z_a-z])|from(?![0-9A-Z_a-z])|if(?![0-9A-Z_a-z])|implies(?![0-9A-Z_a-z])|import(?![0-9A-Z_a-z])|in(?![0-9A-Z_a-z])|instanceof(?![0-9A-Z_a-z])|int(?![0-9A-Z_a-z])|max(?![0-9A-Z_a-z])|min(?![0-9A-Z_a-z])|module(?![0-9A-Z_a-z])|newtype(?![0-9A-Z_a-z])|none(?![0-9A-Z_a-z])|not(?![0-9A-Z_a-z])|or(?![0-9A-Z_a-z])|order(?![0-9A-Z_a-z])|predicate(?![0-9A-Z_a-z])|rank(?![0-9A-Z_a-z])|result(?![0-9A-Z_a-z])|select(?![0-9A-Z_a-z])|strictconcat(?![0-9A-Z_a-z])|strictcount(?![0-9A-Z_a-z])|strictsum(?![0-9A-Z_a-z])|string(?![0-9A-Z_a-z])|sum(?![0-9A-Z_a-z])|super(?![0-9A-Z_a-z])|then(?![0-9A-Z_a-z])|this(?![0-9A-Z_a-z])|true(?![0-9A-Z_a-z])|unique(?![0-9A-Z_a-z])|where(?![0-9A-Z_a-z])))", "name": "meta.block.import-as-clause.ql", "patterns": [ { "include": "#non-context-sensitive" }, { "match": "\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "name": "entity.name.type.namespace.ql" } ] }, "import-directive": { "begin": "\\b(import(?![0-9A-Z_a-z]))", "beginCaptures": { "1": { "patterns": [ { "include": "#import" } ] } }, "end": "(?<!\\bimport)(?<=[0-9>A-Z_a-z])(?!\\s*(\\.|::|[,<]))", "name": "meta.block.import-directive.ql", "patterns": [ { "include": "#instantiation-args" }, { "include": "#non-context-sensitive" }, { "match": "\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "name": "entity.name.type.namespace.ql" } ] }, "in": { "match": "\\bin(?![0-9A-Z_a-z])", "name": "keyword.other.in.ql" }, "instanceof": { "match": "\\binstanceof(?![0-9A-Z_a-z])", "name": "keyword.other.instanceof.ql" }, "instantiation-args": { "begin": "(<)", "beginCaptures": { "1": { "patterns": [ { "include": "#open-angle" } ] } }, "end": "(>)", "endCaptures": { "1": { "patterns": [ { "include": "#close-angle" } ] } }, "name": "meta.type.parameters.ql", "patterns": [ { "include": "#instantiation-args" }, { "include": "#non-context-sensitive" }, { "match": "\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "name": "entity.name.type.namespace.ql" } ] }, "int": { "match": "\\bint(?![0-9A-Z_a-z])", "name": "keyword.type.int.ql" }, "int-literal": { "match": "-?[0-9]+(?![0-9])", "name": "constant.numeric.decimal.ql" }, "keyword": { "patterns": [ { "include": "#dont-care" }, { "include": "#and" }, { "include": "#any" }, { "include": "#as" }, { "include": "#asc" }, { "include": "#avg" }, { "include": "#boolean" }, { "include": "#by" }, { "include": "#class" }, { "include": "#concat" }, { "include": "#count" }, { "include": "#date" }, { "include": "#desc" }, { "include": "#else" }, { "include": "#exists" }, { "include": "#extends" }, { "include": "#false" }, { "include": "#float" }, { "include": "#forall" }, { "include": "#forex" }, { "include": "#from" }, { "include": "#if" }, { "include": "#implies" }, { "include": "#import" }, { "include": "#in" }, { "include": "#instanceof" }, { "include": "#int" }, { "include": "#max" }, { "include": "#min" }, { "include": "#module" }, { "include": "#newtype" }, { "include": "#none" }, { "include": "#not" }, { "include": "#or" }, { "include": "#order" }, { "include": "#predicate" }, { "include": "#rank" }, { "include": "#result" }, { "include": "#select" }, { "include": "#strictconcat" }, { "include": "#strictcount" }, { "include": "#strictsum" }, { "include": "#string" }, { "include": "#sum" }, { "include": "#super" }, { "include": "#then" }, { "include": "#this" }, { "include": "#true" }, { "include": "#unique" }, { "include": "#where" } ] }, "language": { "match": "\\blanguage(?![0-9A-Z_a-z])", "name": "storage.modifier.language.ql" }, "language-annotation": { "begin": "\\b(language(?![0-9A-Z_a-z]))", "beginCaptures": { "1": { "patterns": [ { "include": "#language" } ] } }, "end": "(?!(?:\\s|$|/[*/])|\\[)|(?<=])", "name": "meta.block.language-annotation.ql", "patterns": [ { "include": "#language-annotation-body" }, { "include": "#non-context-sensitive" } ] }, "language-annotation-body": { "begin": "(\\[)", "beginCaptures": { "1": { "patterns": [ { "include": "#open-bracket" } ] } }, "end": "(])", "endCaptures": { "1": { "patterns": [ { "include": "#close-bracket" } ] } }, "name": "meta.block.language-annotation-body.ql", "patterns": [ { "include": "#non-context-sensitive" }, { "match": "\\bmonotonicAggregates(?![0-9A-Z_a-z])", "name": "storage.modifier.ql" } ] }, "library": { "match": "\\blibrary(?![0-9A-Z_a-z])", "name": "storage.modifier.library.ql" }, "literal": { "patterns": [ { "include": "#float-literal" }, { "include": "#int-literal" }, { "include": "#string-literal" } ] }, "lower-id": { "match": "\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])" }, "max": { "match": "\\bmax(?![0-9A-Z_a-z])", "name": "keyword.aggregate.max.ql" }, "min": { "match": "\\bmin(?![0-9A-Z_a-z])", "name": "keyword.aggregate.min.ql" }, "module": { "match": "\\bmodule(?![0-9A-Z_a-z])", "name": "keyword.other.module.ql" }, "module-body": { "begin": "(\\{)", "beginCaptures": { "1": { "patterns": [ { "include": "#open-brace" } ] } }, "end": "(})", "endCaptures": { "1": { "patterns": [ { "include": "#close-brace" } ] } }, "name": "meta.block.module-body.ql", "patterns": [ { "include": "#module-member" } ] }, "module-declaration": { "begin": "\\b(module(?![0-9A-Z_a-z]))", "beginCaptures": { "1": { "patterns": [ { "include": "#module" } ] } }, "end": "(?<=[;}])", "name": "meta.block.module-declaration.ql", "patterns": [ { "include": "#module-body" }, { "include": "#implements-clause" }, { "include": "#non-context-sensitive" }, { "match": "\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "name": "entity.name.type.namespace.ql" } ] }, "module-member": { "patterns": [ { "include": "#import-directive" }, { "include": "#import-as-clause" }, { "include": "#module-declaration" }, { "include": "#newtype-declaration" }, { "include": "#newtype-branch-name-with-prefix" }, { "include": "#predicate-parameter-list" }, { "include": "#predicate-body" }, { "include": "#class-declaration" }, { "include": "#select-clause" }, { "include": "#predicate-or-field-declaration" }, { "include": "#non-context-sensitive" }, { "include": "#annotation" } ] }, "module-qualifier": { "match": "\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])(?=\\s*::)", "name": "entity.name.type.namespace.ql" }, "newtype": { "match": "\\bnewtype(?![0-9A-Z_a-z])", "name": "keyword.other.newtype.ql" }, "newtype-branch-name-with-prefix": { "begin": "=|\\bor(?![0-9A-Z_a-z])", "beginCaptures": { "0": { "patterns": [ { "include": "#or" }, { "include": "#comparison-operator" } ] } }, "end": "\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "endCaptures": { "0": { "name": "entity.name.type.ql" } }, "name": "meta.block.newtype-branch-name-with-prefix.ql", "patterns": [ { "include": "#non-context-sensitive" } ] }, "newtype-declaration": { "begin": "\\b(newtype(?![0-9A-Z_a-z]))", "beginCaptures": { "1": { "patterns": [ { "include": "#newtype" } ] } }, "end": "\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "endCaptures": { "0": { "name": "entity.name.type.ql" } }, "name": "meta.block.newtype-declaration.ql", "patterns": [ { "include": "#non-context-sensitive" } ] }, "non-context-sensitive": { "patterns": [ { "include": "#comment" }, { "include": "#literal" }, { "include": "#operator-or-punctuation" }, { "include": "#keyword" } ] }, "none": { "match": "\\bnone(?![0-9A-Z_a-z])", "name": "keyword.quantifier.none.ql" }, "not": { "match": "\\bnot(?![0-9A-Z_a-z])", "name": "keyword.other.not.ql" }, "open-angle": { "match": "<", "name": "punctuation.anglebracket.open.ql" }, "open-brace": { "match": "\\{", "name": "punctuation.curlybrace.open.ql" }, "open-bracket": { "match": "\\[", "name": "punctuation.squarebracket.open.ql" }, "open-paren": { "match": "\\(", "name": "punctuation.parenthesis.open.ql" }, "operator-or-punctuation": { "patterns": [ { "include": "#relational-operator" }, { "include": "#comparison-operator" }, { "include": "#arithmetic-operator" }, { "include": "#comma" }, { "include": "#semicolon" }, { "include": "#dot" }, { "include": "#dotdot" }, { "include": "#pipe" }, { "include": "#open-paren" }, { "include": "#close-paren" }, { "include": "#open-brace" }, { "include": "#close-brace" }, { "include": "#open-bracket" }, { "include": "#close-bracket" }, { "include": "#open-angle" }, { "include": "#close-angle" } ] }, "or": { "match": "\\bor(?![0-9A-Z_a-z])", "name": "keyword.other.or.ql" }, "order": { "match": "\\border(?![0-9A-Z_a-z])", "name": "keyword.order.order.ql" }, "override": { "match": "\\boverride(?![0-9A-Z_a-z])", "name": "storage.modifier.override.ql" }, "pipe": { "match": "\\|", "name": "punctuation.separator.pipe.ql" }, "pragma": { "match": "\\bpragma(?![0-9A-Z_a-z])", "name": "storage.modifier.pragma.ql" }, "pragma-annotation": { "begin": "\\b(pragma(?![0-9A-Z_a-z]))", "beginCaptures": { "1": { "patterns": [ { "include": "#pragma" } ] } }, "end": "(?!(?:\\s|$|/[*/])|\\[)|(?<=])", "name": "meta.block.pragma-annotation.ql", "patterns": [ { "include": "#pragma-annotation-body" }, { "include": "#non-context-sensitive" } ] }, "pragma-annotation-body": { "begin": "(\\[)", "beginCaptures": { "1": { "patterns": [ { "include": "#open-bracket" } ] } }, "end": "(])", "endCaptures": { "1": { "patterns": [ { "include": "#close-bracket" } ] } }, "name": "meta.block.pragma-annotation-body.ql", "patterns": [ { "match": "\\b(?:inline|noinline|nomagic|noopt)\\b", "name": "storage.modifier.ql" } ] }, "predicate": { "match": "\\bpredicate(?![0-9A-Z_a-z])", "name": "keyword.other.predicate.ql" }, "predicate-body": { "begin": "(\\{)", "beginCaptures": { "1": { "patterns": [ { "include": "#open-brace" } ] } }, "end": "(})", "endCaptures": { "1": { "patterns": [ { "include": "#close-brace" } ] } }, "name": "meta.block.predicate-body.ql", "patterns": [ { "include": "#predicate-body-contents" } ] }, "predicate-body-contents": { "patterns": [ { "include": "#expr-as-clause" }, { "include": "#non-context-sensitive" }, { "include": "#module-qualifier" }, { "match": "\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\s*[*+]?\\s*(?=\\()", "name": "entity.name.function.ql" }, { "match": "\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "name": "variable.other.ql" }, { "match": "\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])|@[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "name": "entity.name.type.ql" } ] }, "predicate-or-field-declaration": { "begin": "(?=\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z]))(?!\\b(?:(?:_(?![0-9A-Z_a-z])|and(?![0-9A-Z_a-z])|any(?![0-9A-Z_a-z])|as(?![0-9A-Z_a-z])|asc(?![0-9A-Z_a-z])|avg(?![0-9A-Z_a-z])|boolean(?![0-9A-Z_a-z])|by(?![0-9A-Z_a-z])|class(?![0-9A-Z_a-z])|concat(?![0-9A-Z_a-z])|count(?![0-9A-Z_a-z])|date(?![0-9A-Z_a-z])|desc(?![0-9A-Z_a-z])|else(?![0-9A-Z_a-z])|exists(?![0-9A-Z_a-z])|extends(?![0-9A-Z_a-z])|false(?![0-9A-Z_a-z])|float(?![0-9A-Z_a-z])|forall(?![0-9A-Z_a-z])|forex(?![0-9A-Z_a-z])|from(?![0-9A-Z_a-z])|if(?![0-9A-Z_a-z])|implies(?![0-9A-Z_a-z])|import(?![0-9A-Z_a-z])|in(?![0-9A-Z_a-z])|instanceof(?![0-9A-Z_a-z])|int(?![0-9A-Z_a-z])|max(?![0-9A-Z_a-z])|min(?![0-9A-Z_a-z])|module(?![0-9A-Z_a-z])|newtype(?![0-9A-Z_a-z])|none(?![0-9A-Z_a-z])|not(?![0-9A-Z_a-z])|or(?![0-9A-Z_a-z])|order(?![0-9A-Z_a-z])|predicate(?![0-9A-Z_a-z])|rank(?![0-9A-Z_a-z])|result(?![0-9A-Z_a-z])|select(?![0-9A-Z_a-z])|strictconcat(?![0-9A-Z_a-z])|strictcount(?![0-9A-Z_a-z])|strictsum(?![0-9A-Z_a-z])|string(?![0-9A-Z_a-z])|sum(?![0-9A-Z_a-z])|super(?![0-9A-Z_a-z])|then(?![0-9A-Z_a-z])|this(?![0-9A-Z_a-z])|true(?![0-9A-Z_a-z])|unique(?![0-9A-Z_a-z])|where(?![0-9A-Z_a-z]))|(?:abstract(?![0-9A-Z_a-z])|additional(?![0-9A-Z_a-z])|bindingset(?![0-9A-Z_a-z])|cached(?![0-9A-Z_a-z])|default(?![0-9A-Z_a-z])|deprecated(?![0-9A-Z_a-z])|external(?![0-9A-Z_a-z])|final(?![0-9A-Z_a-z])|language(?![0-9A-Z_a-z])|library(?![0-9A-Z_a-z])|override(?![0-9A-Z_a-z])|pragma(?![0-9A-Z_a-z])|private(?![0-9A-Z_a-z])|query(?![0-9A-Z_a-z])|signature(?![0-9A-Z_a-z])|transient(?![0-9A-Z_a-z]))))|(?=\\b(?:boolean(?![0-9A-Z_a-z])|date(?![0-9A-Z_a-z])|float(?![0-9A-Z_a-z])|int(?![0-9A-Z_a-z])|predicate(?![0-9A-Z_a-z])|string(?![0-9A-Z_a-z])))|(?=@[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z]))", "end": "(?<=[;}])", "name": "meta.block.predicate-or-field-declaration.ql", "patterns": [ { "include": "#predicate-parameter-list" }, { "include": "#predicate-body" }, { "include": "#non-context-sensitive" }, { "include": "#module-qualifier" }, { "match": "\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])(?=\\s*;)", "name": "variable.field.ql" }, { "match": "\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "name": "entity.name.function.ql" }, { "match": "\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])|@[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "name": "entity.name.type.ql" } ] }, "predicate-parameter-list": { "begin": "(\\()", "beginCaptures": { "1": { "patterns": [ { "include": "#open-paren" } ] } }, "end": "(\\))", "endCaptures": { "1": { "patterns": [ { "include": "#close-paren" } ] } }, "name": "meta.block.predicate-parameter-list.ql", "patterns": [ { "include": "#non-context-sensitive" }, { "match": "\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])(?=\\s*[),])", "name": "variable.parameter.ql" }, { "include": "#module-qualifier" }, { "match": "\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])|@[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "name": "entity.name.type.ql" }, { "match": "\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "name": "variable.parameter.ql" } ] }, "predicate-start-keyword": { "patterns": [ { "include": "#boolean" }, { "include": "#date" }, { "include": "#float" }, { "include": "#int" }, { "include": "#predicate" }, { "include": "#string" } ] }, "private": { "match": "\\bprivate(?![0-9A-Z_a-z])", "name": "storage.modifier.private.ql" }, "query": { "match": "\\bquery(?![0-9A-Z_a-z])", "name": "storage.modifier.query.ql" }, "rank": { "match": "\\brank(?![0-9A-Z_a-z])", "name": "keyword.aggregate.rank.ql" }, "relational-operator": { "match": "<=?|>=?", "name": "keyword.operator.relational.ql" }, "result": { "match": "\\bresult(?![0-9A-Z_a-z])", "name": "variable.language.result.ql" }, "select": { "match": "\\bselect(?![0-9A-Z_a-z])", "name": "keyword.query.select.ql" }, "select-as-clause": { "begin": "\\b(as(?![0-9A-Z_a-z]))", "beginCaptures": { "1": { "patterns": [ { "include": "#as" } ] } }, "end": "(?<=[0-9A-Z_a-z])(?![0-9A-Z_a-z])", "match": "meta.block.select-as-clause.ql", "patterns": [ { "include": "#non-context-sensitive" }, { "match": "\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])", "name": "variable.other.ql" } ] }, "select-clause": { "begin": "(?=\\b(?:from(?![0-9A-Z_a-z])|where(?![0-9A-Z_a-z])|select(?![0-9A-Z_a-z])))", "end": "(?!\\b(?:from(?![0-9A-Z_a-z])|where(?![0-9A-Z_a-z])|select(?![0-9A-Z_a-z])))", "name": "meta.block.select-clause.ql", "patterns": [ { "include": "#from-section" }, { "include": "#where-section" }, { "include": "#select-section" } ] }, "select-section": { "begin": "\\b(select(?![0-9A-Z_a-z]))", "beginCaptures": { "1": { "patterns": [ { "include": "#select" } ] } }, "end": "(?=\\n)", "name": "meta.block.select-section.ql", "patterns": [ { "include": "#predicate-body-contents" }, { "include": "#select-as-clause" } ] }, "semicolon": { "match": ";", "name": "punctuation.separator.statement.ql" }, "signature": { "match": "\\bsignature(?![0-9A-Z_a-z])", "name": "storage.modifier.signature.ql" }, "simple-id": { "match": "\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])" }, "strictconcat": { "match": "\\bstrictconcat(?![0-9A-Z_a-z])", "name": "keyword.aggregate.strictconcat.ql" }, "strictcount": { "match": "\\bstrictcount(?![0-9A-Z_a-z])", "name": "keyword.aggregate.strictcount.ql" }, "strictsum": { "match": "\\bstrictsum(?![0-9A-Z_a-z])", "name": "keyword.aggregate.strictsum.ql" }, "string": { "match": "\\bstring(?![0-9A-Z_a-z])", "name": "keyword.type.string.ql" }, "string-escape": { "match": "\\\\[\"\\\\nrt]", "name": "constant.character.escape.ql" }, "string-literal": { "begin": "\"", "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.ql" } }, "end": "(\")|([^\\n\\\\])$", "endCaptures": { "1": { "name": "punctuation.definition.string.end.ql" }, "2": { "name": "invalid.illegal.newline.ql" } }, "name": "string.quoted.double.ql", "patterns": [ { "include": "#string-escape" } ] }, "sum": { "match": "\\bsum(?![0-9A-Z_a-z])", "name": "keyword.aggregate.sum.ql" }, "super": { "match": "\\bsuper(?![0-9A-Z_a-z])", "name": "variable.language.super.ql" }, "then": { "match": "\\bthen(?![0-9A-Z_a-z])", "name": "keyword.other.then.ql" }, "this": { "match": "\\bthis(?![0-9A-Z_a-z])", "name": "variable.language.this.ql" }, "transient": { "match": "\\btransient(?![0-9A-Z_a-z])", "name": "storage.modifier.transient.ql" }, "true": { "match": "\\btrue(?![0-9A-Z_a-z])", "name": "constant.language.boolean.true.ql" }, "unique": { "match": "\\bunique(?![0-9A-Z_a-z])", "name": "keyword.aggregate.unique.ql" }, "upper-id": { "match": "\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])" }, "where": { "match": "\\bwhere(?![0-9A-Z_a-z])", "name": "keyword.query.where.ql" }, "where-section": { "begin": "\\b(where(?![0-9A-Z_a-z]))", "beginCaptures": { "1": { "patterns": [ { "include": "#where" } ] } }, "end": "(?=\\bselect(?![0-9A-Z_a-z]))", "name": "meta.block.where-section.ql", "patterns": [ { "include": "#predicate-body-contents" } ] }, "whitespace-or-comment-start": { "match": "\\s|$|/[*/]" } }, "scopeName": "source.ql" }