summaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'runtime')
-rw-r--r--runtime/queries/git-rebase/highlights.scm41
-rw-r--r--runtime/queries/git-rebase/injections.scm9
2 files changed, 38 insertions, 12 deletions
diff --git a/runtime/queries/git-rebase/highlights.scm b/runtime/queries/git-rebase/highlights.scm
index 4f007037..5a03dadf 100644
--- a/runtime/queries/git-rebase/highlights.scm
+++ b/runtime/queries/git-rebase/highlights.scm
@@ -1,11 +1,36 @@
-(operation operator: ["p" "pick" "r" "reword" "e" "edit" "s" "squash" "m" "merge" "d" "drop" "b" "break" "x" "exec"] @keyword)
-(operation operator: ["l" "label" "t" "reset"] @function)
-(operation operator: ["f" "fixup"] @function.special)
+; a rough translation:
+; * constant.builtin - git hash
+; * constant - a git label
+; * keyword - command that acts on commits commits
+; * function - command that acts only on labels
+; * comment - discarded commentary on a command, has no effect on the rebase
+; * string - text used in the rebase operation
+; * operator - a 'switch' (used in fixup and merge), either -c or -C at time of writing
+
+(((command) @keyword
+ (label) @constant.builtin
+ (message)? @comment)
+ (#match? @keyword "^(p|pick|r|reword|e|edit|s|squash|d|drop)$"))
+
+(((command) @function
+ (label) @constant
+ (message)? @comment)
+ (#match? @function "^(l|label|t|reset|u|update-ref)$"))
+
+((command) @keyword
+ (#match? @keyword "^(x|exec|b|break)$"))
+
+(((command) @attribute
+ (label) @constant.builtin
+ (message)? @comment)
+ (#match? @attribute "^(f|fixup)$"))
+
+(((command) @keyword
+ (label) @constant.builtin
+ (label) @constant
+ (message) @string)
+ (#match? @keyword "^(m|merge)$"))
(option) @operator
-(label) @string.special.symbol
-(commit) @constant
-"#" @punctuation.delimiter
-(comment) @comment
-(ERROR) @error
+(comment) @comment
diff --git a/runtime/queries/git-rebase/injections.scm b/runtime/queries/git-rebase/injections.scm
index 070129b6..90f1f941 100644
--- a/runtime/queries/git-rebase/injections.scm
+++ b/runtime/queries/git-rebase/injections.scm
@@ -1,4 +1,5 @@
-((operation
- operator: ["x" "exec"]
- (command) @injection.content)
- (#set! injection.language "bash"))
+(((command) @attribute
+ (message)? @injection.content)
+ (#match? @attribute "^(x|exec)$")
+ (#set! injection.language "bash")
+)