Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/erlang/highlights.scm')
| -rw-r--r-- | runtime/queries/erlang/highlights.scm | 114 |
1 files changed, 58 insertions, 56 deletions
diff --git a/runtime/queries/erlang/highlights.scm b/runtime/queries/erlang/highlights.scm index 13b57e95..f09f6104 100644 --- a/runtime/queries/erlang/highlights.scm +++ b/runtime/queries/erlang/highlights.scm @@ -1,52 +1,3 @@ -; Comments -(tripledot) @comment.unused - -[(comment) (line_comment) (shebang)] @comment - -; Basic types -(variable) @variable -(atom) @string.special.symbol -((atom) @constant.builtin.boolean - (#match? @constant.builtin.boolean "^(true|false)$")) -[(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 operator: _ @operator) -(unary_operator operator: _ @operator) -["/" ":" "->"] @operator - -(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+$")) - -; Functions -(function_clause name: (atom) @function) -(call module: (atom) @namespace) -(call function: (atom) @function) -(stab_clause name: (atom) @function) -(function_capture module: (atom) @namespace) -(function_capture function: (atom) @function) - -; Keywords -(attribute name: (atom) @keyword) - -["case" "fun" "if" "of" "when" "end" "receive" "try" "catch" "after" "begin" "maybe"] @keyword - ; Attributes ; module declaration (attribute @@ -114,16 +65,28 @@ ] @comment.block.documentation) (#any-of? @keyword "doc" "moduledoc")) -; Macros -(macro - "?"+ @keyword.directive - name: (_) @keyword.directive) +; Functions +(function_clause name: (atom) @function) +(call module: (atom) @namespace) +(call function: (atom) @function) +(stab_clause name: (atom) @function) +(function_capture module: (atom) @namespace) +(function_capture function: (atom) @function) +; Macros (macro "?"+ @constant name: (_) @constant !arguments) +(macro + "?"+ @keyword.directive + name: (_) @keyword.directive) + +; Ignored variables +((variable) @comment.discard + (#match? @comment.discard "^_")) + ; Parameters ; specs ((attribute @@ -160,6 +123,45 @@ (record field: (atom) @variable.other.member) (record name: (atom) @type) -; Ignored variables -((variable) @comment.unused - (#match? @comment.unused "^_")) +; 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 |