[PATCH 9/9] vim: include own improved git-diff syntax

Subject: [PATCH 9/9] vim: include own improved git-diff syntax

Date: Sat, 5 Jun 2010 14:12:42 +0300

To: notmuch@notmuchmail.org

Cc: Bart Trojanowski

From: Felipe Contreras


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 0807166..12ad2bb 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 0000000..6f15fdc
--- /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 20bcc39..c3a98b7 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
-- 
1.7.1


Thread: