filetype: git-commit
detect:
- filename: "COMMIT_EDITMSG|TAG_EDITMSG"
+ filename: "^(.*[\\/])?(COMMIT_EDITMSG|TAG_EDITMSG)$"
rules:
- # Commit message
- - ignore: ".*"
+ # File changes
+ - type.keyword: "#[[:space:]](deleted|modified|new file|renamed):[[:space:]].*"
+ - type.keyword: "#[[:space:]]deleted:"
+ - type.keyword: "#[[:space:]]modified:"
+ - type.keyword: "#[[:space:]]new file:"
+ - type.keyword: "#[[:space:]]renamed:"
+ - type.keyword: "^#[[:space:]]Changes.*[:]"
+ - type.keyword: "^#[[:space:]]Your branch and '[^']+"
+ - type.keyword: "^#[[:space:]]Your branch and '"
+ - type.keyword: "^#[[:space:]]On branch [^ ]+"
+ - type.keyword: "^#[[:space:]]On branch"
+ # Color keywords for closing issues (such as on Github)
+ - type.keyword: "\\b(?i)((fix(es|ed)?|close(s|d)?) #[0-9]+)\\b"
+
# Comments
- - comment:
- start: "#"
+ - comment.line:
+ start: "^#"
end: "$"
rules: []
- # File changes
- - keyword: "#[[:space:]](deleted|modified|new file|renamed):[[:space:]].*"
- - keyword: "#[[:space:]]deleted:"
- - keyword: "#[[:space:]]modified:"
- - keyword: "#[[:space:]]new file:"
- - keyword: "#[[:space:]]renamed:"
- # Untracked filenames
- - error: "^# [^/?*:;{}\\\\]+\\.[^/?*:;{}\\\\]+$"
- - keyword: "^#[[:space:]]Changes.*[:]"
- - keyword: "^#[[:space:]]Your branch and '[^']+"
- - keyword: "^#[[:space:]]Your branch and '"
- - keyword: "^#[[:space:]]On branch [^ ]+"
- - keyword: "^#[[:space:]]On branch"
- # Recolor hash symbols
- - special: "#"
- # Trailing spaces (+LINT is not ok, git uses tabs)
- - error: "[[:space:]]+$"
+
+ # Diffs (i.e. git commit --verbose)
+ - default:
+ start: "^diff"
+ # Diff output puts a space before file contents on each line so this
+ # should never match valid diff output and extend highlighting to the
+ # end of the file
+ end: "^ENDOFFILE"
+ limit-group: "magenta"
+ rules:
+ - include: "patch"