diff --git a/runtime/queries/erlang/highlights.scm b/runtime/queries/erlang/highlights.scm index f09f61042..041fb021b 100644 --- a/runtime/queries/erlang/highlights.scm +++ b/runtime/queries/erlang/highlights.scm @@ -1,3 +1,45 @@ +; Comments +(tripledot) @comment.discard + +[(comment) (line_comment) (shebang)] @comment + +; Basic types +(variable) @variable +((atom) @constant.builtin.boolean + (#match? @constant.builtin.boolean "^(true|false)$")) +(atom) @string.special.symbol +[(string) (sigil)] @string +(character) @constant.character +(escape_sequence) @constant.character.escape + +(integer) @constant.numeric.integer +(float) @constant.numeric.float + +; Punctuation +["," "." "-" ";"] @punctuation.delimiter +["(" ")" "#" "{" "}" "[" "]" "<<" ">>"] @punctuation.bracket + +; Operators +(binary_operator + left: (atom) @function + operator: "/" + right: (integer) @constant.numeric.integer) + +((binary_operator operator: _ @keyword.operator) + (#match? @keyword.operator "^\\w+$")) +((unary_operator operator: _ @keyword.operator) + (#match? @keyword.operator "^\\w+$")) + +(binary_operator operator: _ @operator) +(unary_operator operator: _ @operator) +["/" ":" "->"] @operator + + +; Keywords +(attribute name: (atom) @keyword) + +["case" "fun" "if" "of" "when" "end" "receive" "try" "catch" "after" "begin" "maybe"] @keyword + ; Attributes ; module declaration (attribute @@ -122,46 +164,3 @@ (record field: (atom) @variable.other.member) (record name: (atom) @type) - -; Keywords -(attribute name: (atom) @keyword) - -["case" "fun" "if" "of" "when" "end" "receive" "try" "catch" "after" "begin" "maybe"] @keyword - -; Operators -(binary_operator - left: (atom) @function - operator: "/" - right: (integer) @constant.numeric.integer) - -((binary_operator operator: _ @keyword.operator) - (#match? @keyword.operator "^\\w+$")) -((unary_operator operator: _ @keyword.operator) - (#match? @keyword.operator "^\\w+$")) - -(binary_operator operator: _ @operator) -(unary_operator operator: _ @operator) -["/" ":" "->"] @operator - -; Comments -(tripledot) @comment.discard - -[(comment) (line_comment) (shebang)] @comment - -; Basic types -(variable) @variable -((atom) @constant.builtin.boolean - (#match? @constant.builtin.boolean "^(true|false)$")) -(atom) @string.special.symbol -[(string) (sigil)] @string -(character) @constant.character -(escape_sequence) @constant.character.escape - -(integer) @constant.numeric.integer -(float) @constant.numeric.float - -; Punctuation -["," "." "-" ";"] @punctuation.delimiter -["(" ")" "#" "{" "}" "[" "]" "<<" ">>"] @punctuation.bracket - -; (ERROR) @error