xref: /vim-8.2.3635/runtime/syntax/diff.vim (revision 071d4279)
1*071d4279SBram Moolenaar" Vim syntax file
2*071d4279SBram Moolenaar" Language:	Diff (context or unified)
3*071d4279SBram Moolenaar" Maintainer:	Bram Moolenaar <[email protected]>
4*071d4279SBram Moolenaar" Last Change:	2003 Apr 02
5*071d4279SBram Moolenaar
6*071d4279SBram Moolenaar" For version 5.x: Clear all syntax items
7*071d4279SBram Moolenaar" For version 6.x: Quit when a syntax file was already loaded
8*071d4279SBram Moolenaarif version < 600
9*071d4279SBram Moolenaar  syntax clear
10*071d4279SBram Moolenaarelseif exists("b:current_syntax")
11*071d4279SBram Moolenaar  finish
12*071d4279SBram Moolenaarendif
13*071d4279SBram Moolenaar
14*071d4279SBram Moolenaarsyn match diffOnly	"^Only in .*"
15*071d4279SBram Moolenaarsyn match diffIdentical	"^Files .* and .* are identical$"
16*071d4279SBram Moolenaarsyn match diffDiffer	"^Files .* and .* differ$"
17*071d4279SBram Moolenaarsyn match diffBDiffer	"^Binary files .* and .* differ$"
18*071d4279SBram Moolenaarsyn match diffIsA	"^File .* is a .* while file .* is a .*"
19*071d4279SBram Moolenaarsyn match diffNoEOL	"^No newline at end of file .*"
20*071d4279SBram Moolenaarsyn match diffCommon	"^Common subdirectories: .*"
21*071d4279SBram Moolenaar
22*071d4279SBram Moolenaarsyn match diffRemoved	"^-.*"
23*071d4279SBram Moolenaarsyn match diffRemoved	"^<.*"
24*071d4279SBram Moolenaarsyn match diffAdded	"^+.*"
25*071d4279SBram Moolenaarsyn match diffAdded	"^>.*"
26*071d4279SBram Moolenaarsyn match diffChanged	"^! .*"
27*071d4279SBram Moolenaar
28*071d4279SBram Moolenaarsyn match diffSubname	" @@..*"ms=s+3 contained
29*071d4279SBram Moolenaarsyn match diffLine	"^@.*" contains=diffSubname
30*071d4279SBram Moolenaarsyn match diffLine	"^\<\d\+\>.*"
31*071d4279SBram Moolenaarsyn match diffLine	"^\*\*\*\*.*"
32*071d4279SBram Moolenaar
33*071d4279SBram Moolenaar"Some versions of diff have lines like "#c#" and "#d#" (where # is a number)
34*071d4279SBram Moolenaarsyn match diffLine	"^\d\+\(,\d\+\)\=[cda]\d\+\>.*"
35*071d4279SBram Moolenaar
36*071d4279SBram Moolenaarsyn match diffFile	"^diff.*"
37*071d4279SBram Moolenaarsyn match diffFile	"^+++ .*"
38*071d4279SBram Moolenaarsyn match diffFile	"^Index: .*$"
39*071d4279SBram Moolenaarsyn match diffFile	"^==== .*$"
40*071d4279SBram Moolenaarsyn match diffOldFile	"^\*\*\* .*"
41*071d4279SBram Moolenaarsyn match diffNewFile	"^--- .*"
42*071d4279SBram Moolenaar
43*071d4279SBram Moolenaarsyn match diffComment	"^#.*"
44*071d4279SBram Moolenaar
45*071d4279SBram Moolenaar" Define the default highlighting.
46*071d4279SBram Moolenaar" For version 5.7 and earlier: only when not done already
47*071d4279SBram Moolenaar" For version 5.8 and later: only when an item doesn't have highlighting yet
48*071d4279SBram Moolenaarif version >= 508 || !exists("did_diff_syntax_inits")
49*071d4279SBram Moolenaar  if version < 508
50*071d4279SBram Moolenaar    let did_diff_syntax_inits = 1
51*071d4279SBram Moolenaar    command -nargs=+ HiLink hi link <args>
52*071d4279SBram Moolenaar  else
53*071d4279SBram Moolenaar    command -nargs=+ HiLink hi def link <args>
54*071d4279SBram Moolenaar  endif
55*071d4279SBram Moolenaar
56*071d4279SBram Moolenaar  HiLink diffOldFile	diffFile
57*071d4279SBram Moolenaar  HiLink diffNewFile	diffFile
58*071d4279SBram Moolenaar  HiLink diffFile	Type
59*071d4279SBram Moolenaar  HiLink diffOnly	Constant
60*071d4279SBram Moolenaar  HiLink diffIdentical	Constant
61*071d4279SBram Moolenaar  HiLink diffDiffer	Constant
62*071d4279SBram Moolenaar  HiLink diffBDiffer	Constant
63*071d4279SBram Moolenaar  HiLink diffIsA	Constant
64*071d4279SBram Moolenaar  HiLink diffNoEOL	Constant
65*071d4279SBram Moolenaar  HiLink diffCommon	Constant
66*071d4279SBram Moolenaar  HiLink diffRemoved	Special
67*071d4279SBram Moolenaar  HiLink diffChanged	PreProc
68*071d4279SBram Moolenaar  HiLink diffAdded	Identifier
69*071d4279SBram Moolenaar  HiLink diffLine	Statement
70*071d4279SBram Moolenaar  HiLink diffSubname	PreProc
71*071d4279SBram Moolenaar  HiLink diffComment	Comment
72*071d4279SBram Moolenaar
73*071d4279SBram Moolenaar  delcommand HiLink
74*071d4279SBram Moolenaarendif
75*071d4279SBram Moolenaar
76*071d4279SBram Moolenaarlet b:current_syntax = "diff"
77*071d4279SBram Moolenaar
78*071d4279SBram Moolenaar" vim: ts=8 sw=2
79