vim: include own improved git-diff syntax
authorFelipe Contreras <felipe.contreras@gmail.com>
Sat, 5 Jun 2010 11:12:42 +0000 (14:12 +0300)
committerCarl Worth <cworth@cworth.org>
Mon, 8 Nov 2010 18:00:18 +0000 (10:00 -0800)
The old one wasn't working at all on newer vims.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
vim/README
vim/syntax/notmuch-git-diff.vim [new file with mode: 0644]
vim/syntax/notmuch-show.vim

index 0807166..12ad2bb 100644 (file)
@@ -10,11 +10,6 @@ Dependencies:
     mailx:
         To send mail, notmuch.vim uses the UNIX mailx command.
 
-    git-diff:
-        The vim interface makes use of the git-diff.vim syntax file
-        which is available from
-            http://github.com/motemen/git-vim/blob/master/syntax/git-diff.vim
-
 
 To install:
         make install
diff --git a/vim/syntax/notmuch-git-diff.vim b/vim/syntax/notmuch-git-diff.vim
new file mode 100644 (file)
index 0000000..6f15fdc
--- /dev/null
@@ -0,0 +1,26 @@
+syn match diffRemoved  "^-.*"
+syn match diffAdded    "^+.*"
+
+syn match diffSeparator        "^---$"
+syn match diffSubname  " @@..*"ms=s+3 contained
+syn match diffLine     "^@.*" contains=diffSubname
+
+syn match diffFile     "^diff .*"
+syn match diffNewFile  "^+++ .*"
+syn match diffOldFile  "^--- .*"
+
+hi def link diffOldFile                diffFile
+hi def link diffNewFile                diffFile
+
+hi def link diffFile           Type
+hi def link diffRemoved                Special
+hi def link diffAdded          Identifier
+hi def link diffLine           Statement
+hi def link diffSubname                PreProc
+
+syntax match gitDiffStatLine /^ .\{-}\zs[+-]\+$/ contains=gitDiffStatAdd,gitDiffStatDelete
+syntax match gitDiffStatAdd    /+/ contained
+syntax match gitDiffStatDelete /-/ contained
+
+hi def link gitDiffStatAdd diffAdded
+hi def link gitDiffStatDelete diffRemoved
index 20bcc39..c3a98b7 100644 (file)
@@ -12,8 +12,7 @@ syntax match   nmShowMsgHeadVal /^\([^:]\+: \)\@<=.*/ contained
 syntax cluster nmShowMsgBody contains=@nmShowMsgBodyMail,@nmShowMsgBodyGit
 syntax include @nmShowMsgBodyMail syntax/mail.vim
 
-" git-diff.vim marks up diffs in emails, see README for details
-silent! syntax include @nmShowMsgBodyGit syntax/git-diff.vim
+silent! syntax include @nmShowMsgBodyGit syntax/notmuch-git-diff.vim
 
 highlight nmShowMsgDescWho term=reverse cterm=reverse gui=reverse
 highlight link nmShowMsgDescDate Type