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