From dedd7918a33a002923954c1333bd6729cdc3d03f Mon Sep 17 00:00:00 2001
From: Felipe Contreras <felipe.contreras@gmail.com>
Date: Sat, 5 Jun 2010 14:12:42 +0300
Subject: [PATCH] vim: include own improved git-diff syntax

The old one wasn't working at all on newer vims.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 vim/README                      |  5 -----
 vim/syntax/notmuch-git-diff.vim | 26 ++++++++++++++++++++++++++
 vim/syntax/notmuch-show.vim     |  3 +--
 3 files changed, 27 insertions(+), 7 deletions(-)
 create mode 100644 vim/syntax/notmuch-git-diff.vim

diff --git a/vim/README b/vim/README
index 08071663..12ad2bb4 100644
--- a/vim/README
+++ b/vim/README
@@ -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
index 00000000..6f15fdc7
--- /dev/null
+++ b/vim/syntax/notmuch-git-diff.vim
@@ -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
diff --git a/vim/syntax/notmuch-show.vim b/vim/syntax/notmuch-show.vim
index 20bcc399..c3a98b77 100644
--- a/vim/syntax/notmuch-show.vim
+++ b/vim/syntax/notmuch-show.vim
@@ -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
-- 
2.45.2