summaryrefslogtreecommitdiff
path: root/rc/filetype/git.kak
diff options
context:
space:
mode:
authorAlex Leferry 2 <alexherbo2@gmail.com>2019-03-18 19:56:34 +0100
committerAlex Leferry 2 <alexherbo2@gmail.com>2019-03-21 01:06:16 +0100
commitc0dccdd90dd615cf663d95fd94fbdbdf2a88b165 (patch)
treecb48fb1b7fb74e6e3b98a62f6e2768686bb75c98 /rc/filetype/git.kak
parentf87e844244d5ee81e9c1ceb04c354726002ae760 (diff)
Add categories in rc/
Closes #2783
Diffstat (limited to 'rc/filetype/git.kak')
-rw-r--r--rc/filetype/git.kak40
1 files changed, 40 insertions, 0 deletions
diff --git a/rc/filetype/git.kak b/rc/filetype/git.kak
new file mode 100644
index 00000000..13d58f0a
--- /dev/null
+++ b/rc/filetype/git.kak
@@ -0,0 +1,40 @@
+hook global BufCreate .*(COMMIT_EDITMSG|MERGE_MSG) %{
+ set-option buffer filetype git-commit
+}
+
+hook global BufCreate .*/NOTES_EDITMSG %{
+ set-option buffer filetype git-notes
+}
+
+hook global BufCreate .*(\.gitconfig|git/config) %{
+ set-option buffer filetype ini
+}
+
+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
+ 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
+
+ hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/git-commit-highlight }
+}
+
+hook -group git-commit-highlight global WinSetOption filetype=git-notes %{
+ add-highlighter window/git-notes-highlight regex '^\h*#[^\n]*$' 0:comment
+
+ hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/git-notes-highlight }
+}
+
+
+hook global BufCreate .*git-rebase-todo %{
+ set-option buffer filetype git-rebase
+}
+
+hook -group git-rebase-highlight global WinSetOption filetype=git-rebase %{
+ add-highlighter window/git-rebase-highlight group
+ 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
+
+ hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/git-rebase-highlight }
+}