@@ -46,10 +46,16 @@
47 (#eq? @keyword "define"))
47 (#eq? @keyword "define"))
50+ name: (atom) @keyword
52+ (_) @keyword.directive)
53+ (#match? @keyword "ifn?def"))
50 name: (atom) @keyword
56 name: (atom) @keyword
51 module: (atom) @module
57 module: (atom) @module
52− (#eq? @keyword "spec"))
58+ (#eq? @keyword "(spec|callback)"))
54; Functions
60; Functions
55(function name: (atom) @function)
61(function name: (atom) @function)
@@ -69,10 +75,7 @@
69(record name: (atom) @type)
75(record name: (atom) @type)
72−((attribute name: (atom) @keyword)
78+(attribute name: (atom) @keyword)
75− "^(define|export|export_type|include|include_lib|ifdef|ifndef|if|elif|else|endif|vsn|on_load|behaviour|record|file|type|opaque|spec)$"))
77["case" "fun" "if" "of" "when" "end" "receive" "try" "catch" "after" "begin" "maybe"] @keyword
80["case" "fun" "if" "of" "when" "end" "receive" "try" "catch" "after" "begin" "maybe"] @keyword
@@ -86,10 +89,6 @@
86(unary_operator operator: _ @operator)
89(unary_operator operator: _ @operator)
87["/" ":" "#" "->"] @operator
90["/" ":" "#" "->"] @operator
90−((variable) @comment.discard
91− (#match? @comment.discard "^_"))
93(tripledot) @comment.discard
92(tripledot) @comment.discard
95(comment) @comment
94(comment) @comment
@@ -99,12 +98,13 @@
99 "?"+ @keyword.directive
98 "?"+ @keyword.directive
100 name: (_) @keyword.directive)
99 name: (_) @keyword.directive)
102+((variable) @comment.discard
103+ (#match? @comment.discard "^_"))
102; Basic types
105; Basic types
103(variable) @variable
106(variable) @variable
107−] @string.special.symbol
107+(atom) @string.special.symbol
108(string) @string
108(string) @string
109(character) @constant.character
109(character) @constant.character