1[
 2  (string)
 3  (raw_string)
 4  (heredoc_body)
 5  (heredoc_start)
 6] @string
 7
 8(command_name) @function
 9
10(variable_name) @property
11
12[
13  "case"
14  "do"
15  "done"
16  "elif"
17  "else"
18  "esac"
19  "export"
20  "fi"
21  "for"
22  "function"
23  "if"
24  "in"
25  "select"
26  "then"
27  "unset"
28  "until"
29  "while"
30] @keyword
31
32(comment) @comment
33
34(function_definition name: (word) @function)
35
36(file_descriptor) @number
37
38[
39  (command_substitution)
40  (process_substitution)
41  (expansion)
42]@embedded
43
44[
45  "$"
46  "&&"
47  ">"
48  ">>"
49  "<"
50  "|"
51] @operator
52
53(
54  (command (_) @constant)
55  (#match? @constant "^-")
56)