home/rc/filetype/git.kak

54 lines
2.1 KiB
Plaintext
Raw Normal View History

hook global BufCreate .*(COMMIT_EDITMSG|MERGE_MSG) %{
set-option buffer filetype git-commit
}
2012-03-08 21:58:22 +01:00
2018-09-28 16:46:18 +02:00
hook global BufCreate .*/NOTES_EDITMSG %{
set-option buffer filetype git-notes
}
2018-07-08 18:10:12 +02:00
hook global BufCreate .*(\.gitconfig|git/config) %{
set-option buffer filetype ini
}
2019-03-13 19:15:59 +01:00
hook global BufCreate .*git-rebase-todo %{
set-option buffer filetype git-rebase
}
hook -once global BufSetOption filetype=git-commit %{
require-module git-commit
}
hook -once global BufSetOption filetype=git-notes %{
require-module git-notes
}
hook -once global BufSetOption filetype=git-rebase %{
require-module git-rebase
}
provide-module git-commit %{
hook -group git-commit-highlight global WinSetOption filetype=git-commit %{
add-highlighter window/git-commit-highlight regions
add-highlighter window/git-commit-highlight/diff region '^diff --git' '^(?=diff --git)' ref diff # highlight potential diffs from the -v option
add-highlighter window/git-commit-highlight/comments region '^\h*#' '$' group
2018-08-09 11:27:40 +02:00
add-highlighter window/git-commit-highlight/comments/ fill comment
add-highlighter window/git-commit-highlight/comments/ regex "\b(?:(modified)|(deleted)|(new file)|(renamed|copied)):([^\n]*)$" 1:yellow 2:red 3:green 4:blue 5:magenta
2012-06-15 14:24:57 +02:00
hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/git-commit-highlight }
2019-03-13 19:15:59 +01:00
}}
2012-06-15 14:24:57 +02:00
2019-03-13 19:15:59 +01:00
provide-module git-notes %{
2018-09-28 16:46:18 +02:00
hook -group git-commit-highlight global WinSetOption filetype=git-notes %{
2018-08-09 11:27:40 +02:00
add-highlighter window/git-notes-highlight regex '^\h*#[^\n]*$' 0:comment
2018-09-28 16:46:18 +02:00
hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/git-notes-highlight }
2019-03-13 19:15:59 +01:00
}}
2012-06-15 14:24:57 +02:00
2018-09-28 16:46:18 +02:00
2019-03-13 19:15:59 +01:00
provide-module git-rebase %{
hook -group git-rebase-highlight global WinSetOption filetype=git-rebase %{
add-highlighter window/git-rebase-highlight group
2018-08-09 11:27:40 +02:00
add-highlighter window/git-rebase-highlight/ regex "#[^\n]*\n" 0:comment
add-highlighter window/git-rebase-highlight/ regex "^(pick|edit|reword|squash|fixup|exec|break|drop|label|reset|merge|[persfxbdltm]) (\w+)" 1:keyword 2:meta
2012-06-15 14:24:57 +02:00
hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/git-rebase-highlight }
2019-03-13 19:15:59 +01:00
}}