home/rc/base/git.kak
Maxime Coste d49555fc75 Move highlighters into Scopes
That means we can now have highlighters active at global, buffer, and
window scope. The add-highlighter and remove-highlighter syntax changed
to take the parent path (scope/group/...) as a mandatory argument,
superseeding the previous -group switch.
2017-10-28 13:43:04 +08:00

25 lines
1.2 KiB
Plaintext

hook global BufCreate .*(COMMIT_EDITMSG|MERGE_MSG) %{
set buffer filetype git-commit
}
hook -group git-commit-highlight global WinSetOption filetype=git-commit %{
add-highlighter window group git-commit-highlight
add-highlighter window/git-commit-highlight regex "^\h*#[^\n]*\n" 0:cyan,default
add-highlighter window/git-commit-highlight regex "\b(?:(modified)|(deleted)|(new file)|(renamed|copied)):([^\n]*)\n" 1:yellow 2:red 3:green 4:blue 5:magenta
add-highlighter window/git-commit-highlight ref diff # highlight potential diffs from the -v option
}
hook -group git-commit-highlight global WinSetOption filetype=(?!git-commit).* %{ remove-highlighter window/git-commit-highlight }
hook global BufCreate .*git-rebase-todo %{
set buffer filetype git-rebase
}
hook -group git-rebase-highlight global WinSetOption filetype=git-rebase %{
add-highlighter window group git-rebase-highlight
add-highlighter window/git-rebase-highlight regex "#[^\n]*\n" 0:cyan,default
add-highlighter window/git-rebase-highlight regex "^(pick|edit|reword|squash|fixup|exec|[persfx]) (\w+)" 1:green 2:magenta
}
hook -group git-rebase-highlight global WinSetOption filetype=(?!git-rebase).* %{ remove-highlighter window/git-rebase-highlight }