@@ -1,11 +1,36 @@
2+; * constant.builtin - git hash
3+; * constant - a git label
4+; * keyword - command that acts on commits commits
5+; * function - command that acts only on labels
6+; * comment - discarded commentary on a command, has no effect on the rebase
7+; * string - text used in the rebase operation
8+; * operator - a 'switch' (used in fixup and merge), either -c or -C at time of writing
11+ (label) @constant.builtin
1−(operation operator: ["p" "pick" "r" "reword" "e" "edit" "s" "squash" "m" "merge" "d" "drop" "b" "break" "x" "exec"] @keyword)
13+ (#match? @keyword "^(p|pick|r|reword|e|edit|s|squash|d|drop)$"))
2−(operation operator: ["l" "label" "t" "reset"] @function)
14+
3−(operation operator: ["f" "fixup"] @function.special)
15+(((command) @function
18+ (#match? @function "^(l|label|t|reset|u|update-ref)$"))
21+ (#match? @keyword "^(x|exec|b|break)$"))
23+(((command) @attribute
24+ (label) @constant.builtin
26+ (#match? @attribute "^(f|fixup)$"))
29+ (label) @constant.builtin
32+ (#match? @keyword "^(m|merge)$"))
5(option) @operator
34(option) @operator
6−(label) @string.special.symbol
8−"#" @punctuation.delimiter
11−(ERROR) @error
36+(comment) @comment