@@ -0,0 +1,145 @@
40+] @punctuation.bracket
46+] @punctuation.delimiter
61+] @constant.numeric.float
63+(integer) @constant.numeric.integer
65+(character) @constant.character
70+(path) @string.special.path
72+(symbol) @string.special.symbol
77+ command: (identifier) @keyword.return)
78+ (#match? @keyword.return "^[eE][nN][dD]([dD][oO])?$")
82+ command: (identifier) @keyword.return)
83+ (#match? @keyword.return "^[rR][eE][tT][uU][rR][nN]$")
87+(subroutine_call_expression
88+ command: (identifier) @keyword
89+ subroutine: (identifier) @function)
93+ command: (identifier) @keyword
94+ subroutine: (identifier) @function)
97+ label: (identifier) @function
100+; Parameter declarations
101+(parameter_declaration
102+ command: (identifier) @keyword
103+ (identifier)? @constant.builtin
104+ macro: (macro) @variable.parameter)
106+; Variables, constants and labels
108+(internal_c_variable) @variable
112+ command: (identifier) @keyword
113+ arguments: (argument_list . (identifier) @label))
114+ (#match? @keyword "^[gG][oO][tT][oO]$")
117+ label: (identifier) @label)
120+ (argument_list (identifier) @constant.builtin)
121+ (#match? @constant.builtin "^[%/][a-zA-Z][a-zA-Z0-9.]*$")
124+ (identifier) @constant)
127+(command_expression command: (identifier) @keyword)
128+(macro_definition command: (identifier) @keyword)
132+ command: (identifier) @keyword.control.conditional.if)
134+ command: (identifier) @keyword.control.control.else)
137+ command: (identifier) @keyword.control.repeat.while)
139+ command: (identifier) @keyword.control.loop)
142+ function: (identifier) @function)
144+(type_identifier) @type