feat!: drop modules, general refactor and cleanup

This commit is contained in:
Christian Clason 2023-06-12 09:54:30 -06:00
parent c13e28f894
commit 2c8f2f2fad
829 changed files with 4905 additions and 8010 deletions

View file

@ -0,0 +1,7 @@
[
(module)
(classlessPredicate)
(dataclass)
(charpred)
(memberPredicate)
] @fold

View file

@ -0,0 +1,135 @@
[
"as"
"by"
"class"
"extends"
"from"
"implies"
"in"
"module"
"newtype"
"order"
"select"
"where"
(predicate)
(result)
(specialId)
] @keyword
[
"and"
"not"
"or"
] @keyword.operator
[
"avg"
"any"
"count"
"concat"
"exists"
"max"
"min"
"instanceof"
"rank"
"sum"
"strictconcat"
"strictcount"
"strictsum"
] @function.builtin
"import" @include
[
"if"
"then"
"else"
] @conditional
[
"forall"
"forex"
] @repeat
[
"asc"
"desc"
] @type.qualifier
[
(true)
(false)
] @boolean
[
(this)
(super)
] @variable.builtin
[
"boolean"
"float"
"int"
"date"
"string"
] @type.builtin
(annotName) @attribute
[
"<"
"<="
"="
">"
">="
"-"
"!="
"/"
"*"
"%"
"+"
"::"
] @operator
[
"("
")"
"{"
"}"
"["
"]"
] @punctuation.bracket
[
","
"|"
] @punctuation.delimiter
(moduleExpr (simpleId) @namespace)
(module name: (moduleName) @namespace)
(dataclass name: (className) @type)
(typeExpr name: (className) @type)
(datatype name: (className) @type.definition)
(importModuleExpr qualName: (simpleId) @variable)
(varName) @variable
(integer) @number
(float) @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

View file

@ -0,0 +1,23 @@
[
(module)
(dataclass)
(classMember)
(classlessPredicate)
(quantified)
] @indent.begin
[
")"
"}"
] @indent.end
[
")"
"}"
] @indent.branch
[
(block_comment)
(line_comment)
(qldoc)
] @indent.ignore

View file

@ -0,0 +1,6 @@
([
(line_comment)
(block_comment)
(qldoc)
] @injection.content
(#set! injection.language "comment"))

View file

@ -0,0 +1,30 @@
; SCOPES
(module) @scope
(dataclass) @scope
(datatype) @scope
;; TODO does not work
;(classMember (body) @scope)
(memberPredicate (body) @scope)
(classlessPredicate (body) @scope)
(quantified (conjunction) @scope)
(select) @scope
; DEFINITIONS
; module
(module name: (moduleName) @definition.namespace)
; classes
(dataclass name: (className) @definition.type)
(datatype name: (className) @definition.type)
; predicates
(charpred (className) @definition.method)
(memberPredicate name: (predicateName) @definition.method)
(classlessPredicate name: (predicateName) @definition.function)
; variables
(varDecl (varName (simpleId) @definition.var))
; REFERENCES
(simpleId) @reference