diff options
Diffstat (limited to 'runtime/queries/ql')
| -rw-r--r-- | runtime/queries/ql/folds.scm | 7 | ||||
| -rw-r--r-- | runtime/queries/ql/highlights.scm | 154 | ||||
| -rw-r--r-- | runtime/queries/ql/indents.scm | 23 | ||||
| -rw-r--r-- | runtime/queries/ql/injections.scm | 6 | ||||
| -rw-r--r-- | runtime/queries/ql/locals.scm | 49 |
5 files changed, 239 insertions, 0 deletions
diff --git a/runtime/queries/ql/folds.scm b/runtime/queries/ql/folds.scm new file mode 100644 index 000000000..eb7f27273 --- /dev/null +++ b/runtime/queries/ql/folds.scm @@ -0,0 +1,7 @@ +[ + (module) + (classlessPredicate) + (dataclass) + (charpred) + (memberPredicate) +] @fold diff --git a/runtime/queries/ql/highlights.scm b/runtime/queries/ql/highlights.scm new file mode 100644 index 000000000..f42812068 --- /dev/null +++ b/runtime/queries/ql/highlights.scm @@ -0,0 +1,154 @@ +[ + "as" + "by" + "extends" + "from" + "implies" + "in" + "module" + "order" + "select" + "where" + (predicate) + (result) + (specialId) +] @keyword + +[ + "newtype" + "class" +] @keyword.type + +[ + "and" + "not" + "or" +] @keyword.operator + +[ + "avg" + "any" + "count" + "concat" + "exists" + "max" + "min" + "instanceof" + "rank" + "sum" + "strictconcat" + "strictcount" + "strictsum" +] @function.builtin + +"import" @keyword.import + +[ + "if" + "then" + "else" +] @keyword.conditional + +[ + "forall" + "forex" +] @keyword.repeat + +[ + "asc" + "desc" +] @keyword.modifier + +[ + (true) + (false) +] @boolean + +[ + (this) + (super) +] @variable.builtin + +[ + "boolean" + "float" + "int" + "date" + "string" +] @type.builtin + +(annotName) @attribute + +[ + "<" + "<=" + "=" + ">" + ">=" + "-" + "!=" + "/" + "*" + "%" + "+" + "::" +] @operator + +[ + "(" + ")" + "{" + "}" + "[" + "]" +] @punctuation.bracket + +[ + "," + "|" +] @punctuation.delimiter + +(moduleExpr + (simpleId) @module) + +(module + name: (moduleName) @module) + +(dataclass + name: (className) @type) + +(typeExpr + name: (className) @type) + +(datatype + name: (className) @type.definition) + +(importModuleExpr + qualName: (simpleId) @variable) + +(varName) @variable + +(integer) @number + +(float) @number.float + +(string) @string + +(aritylessPredicateExpr + (literalId) @function) + +(memberPredicate + name: (predicateName) @function) + +(classlessPredicate + name: (predicateName) @function) + +(charpred + (className) @function) + +[ + (line_comment) + (block_comment) +] @comment @spell + +(qldoc) @comment.documentation diff --git a/runtime/queries/ql/indents.scm b/runtime/queries/ql/indents.scm new file mode 100644 index 000000000..1a4a1bdea --- /dev/null +++ b/runtime/queries/ql/indents.scm @@ -0,0 +1,23 @@ +[ + (module) + (dataclass) + (classMember) + (classlessPredicate) + (quantified) +] @indent.begin + +[ + ")" + "}" +] @indent.end + +[ + ")" + "}" +] @indent.branch + +[ + (block_comment) + (line_comment) + (qldoc) +] @indent.ignore diff --git a/runtime/queries/ql/injections.scm b/runtime/queries/ql/injections.scm new file mode 100644 index 000000000..090116c89 --- /dev/null +++ b/runtime/queries/ql/injections.scm @@ -0,0 +1,6 @@ +([ + (line_comment) + (block_comment) + (qldoc) +] @injection.content + (#set! injection.language "comment")) diff --git a/runtime/queries/ql/locals.scm b/runtime/queries/ql/locals.scm new file mode 100644 index 000000000..239420151 --- /dev/null +++ b/runtime/queries/ql/locals.scm @@ -0,0 +1,49 @@ +; SCOPES +(module) @local.scope + +(dataclass) @local.scope + +(datatype) @local.scope + +; TODO does not work +;(classMember (body) @local.scope) +(memberPredicate + (body) @local.scope) + +(classlessPredicate + (body) @local.scope) + +(quantified + (conjunction) @local.scope) + +(select) @local.scope + +; DEFINITIONS +; module +(module + name: (moduleName) @local.definition.namespace) + +; classes +(dataclass + name: (className) @local.definition.type) + +(datatype + name: (className) @local.definition.type) + +; predicates +(charpred + (className) @local.definition.method) + +(memberPredicate + name: (predicateName) @local.definition.method) + +(classlessPredicate + name: (predicateName) @local.definition.function) + +; variables +(varDecl + (varName + (simpleId) @local.definition.var)) + +; REFERENCES +(simpleId) @local.reference |
