xref: /vim-8.2.3635/runtime/syntax/changelog.vim (revision 071d4279)
1*071d4279SBram Moolenaar" Vim syntax file
2*071d4279SBram Moolenaar" Language:	generic ChangeLog file
3*071d4279SBram Moolenaar" Written By:	Gediminas Paulauskas <[email protected]>
4*071d4279SBram Moolenaar" Maintainer:	Corinna Vinschen <[email protected]>
5*071d4279SBram Moolenaar" Last Change:	June 1, 2003
6*071d4279SBram Moolenaar
7*071d4279SBram Moolenaar" For version 5.x: Clear all syntax items
8*071d4279SBram Moolenaar" For version 6.x: Quit when a syntax file was already loaded
9*071d4279SBram Moolenaarif version < 600
10*071d4279SBram Moolenaar  syntax clear
11*071d4279SBram Moolenaarelseif exists("b:current_syntax")
12*071d4279SBram Moolenaar  finish
13*071d4279SBram Moolenaarendif
14*071d4279SBram Moolenaar
15*071d4279SBram Moolenaarsyn case ignore
16*071d4279SBram Moolenaar
17*071d4279SBram Moolenaarif exists('b:changelog_spacing_errors')
18*071d4279SBram Moolenaar  let s:spacing_errors = b:changelog_spacing_errors
19*071d4279SBram Moolenaarelseif exists('g:changelog_spacing_errors')
20*071d4279SBram Moolenaar  let s:spacing_errors = g:changelog_spacing_errors
21*071d4279SBram Moolenaarelse
22*071d4279SBram Moolenaar  let s:spacing_errors = 1
23*071d4279SBram Moolenaarendif
24*071d4279SBram Moolenaar
25*071d4279SBram Moolenaarif s:spacing_errors
26*071d4279SBram Moolenaar  syn match	changelogError "^ \+"
27*071d4279SBram Moolenaarendif
28*071d4279SBram Moolenaar
29*071d4279SBram Moolenaarsyn match	changelogText	"^\s.*$" contains=changelogMail,changelogNumber,changelogMonth,changelogDay,changelogError
30*071d4279SBram Moolenaarsyn match	changelogHeader	"^\S.*$" contains=changelogNumber,changelogMonth,changelogDay,changelogMail
31*071d4279SBram Moolenaarif version < 600
32*071d4279SBram Moolenaar  syn region	changelogFiles	start="^\s\+[+*]\s" end=":\s" end="^$" contains=changelogBullet,changelogColon,changelogError keepend
33*071d4279SBram Moolenaar  syn region	changelogFiles	start="^\s\+[([]" end=":\s" end="^$" contains=changelogBullet,changelogColon,changelogError keepend
34*071d4279SBram Moolenaar  syn match	changelogColon	contained ":\s"
35*071d4279SBram Moolenaarelse
36*071d4279SBram Moolenaar  syn region	changelogFiles	start="^\s\+[+*]\s" end=":" end="^$" contains=changelogBullet,changelogColon,changeLogFuncs,changelogError keepend
37*071d4279SBram Moolenaar  syn region	changelogFiles	start="^\s\+[([]" end=":" end="^$" contains=changelogBullet,changelogColon,changeLogFuncs,changelogError keepend
38*071d4279SBram Moolenaar  syn match	changeLogFuncs  contained "(.\{-})" extend
39*071d4279SBram Moolenaar  syn match	changeLogFuncs  contained "\[.\{-}]" extend
40*071d4279SBram Moolenaar  syn match	changelogColon	contained ":"
41*071d4279SBram Moolenaarendif
42*071d4279SBram Moolenaarsyn match	changelogBullet	contained "^\s\+[+*]\s" contains=changelogError
43*071d4279SBram Moolenaarsyn match	changelogMail	contained "<[A-Za-z0-9\._:+-]\+@[A-Za-z0-9\._-]\+>"
44*071d4279SBram Moolenaarsyn keyword	changelogMonth	contained jan feb mar apr may jun jul aug sep oct nov dec
45*071d4279SBram Moolenaarsyn keyword	changelogDay	contained mon tue wed thu fri sat sun
46*071d4279SBram Moolenaarsyn match	changelogNumber	contained "[.-]*[0-9]\+"
47*071d4279SBram Moolenaar
48*071d4279SBram Moolenaar" Define the default highlighting.
49*071d4279SBram Moolenaar" For version 5.7 and earlier: only when not done already
50*071d4279SBram Moolenaar" For version 5.8 and later: only when an item doesn't have highlighting yet
51*071d4279SBram Moolenaarif version >= 508 || !exists("did_changelog_syntax_inits")
52*071d4279SBram Moolenaar  if version < 508
53*071d4279SBram Moolenaar    let did_changelog_syntax_inits = 1
54*071d4279SBram Moolenaar    command -nargs=+ HiLink hi link <args>
55*071d4279SBram Moolenaar  else
56*071d4279SBram Moolenaar    command -nargs=+ HiLink hi def link <args>
57*071d4279SBram Moolenaar  endif
58*071d4279SBram Moolenaar
59*071d4279SBram Moolenaar  HiLink changelogText		Normal
60*071d4279SBram Moolenaar  HiLink changelogBullet	Type
61*071d4279SBram Moolenaar  HiLink changelogColon		Type
62*071d4279SBram Moolenaar  HiLink changelogFiles		Comment
63*071d4279SBram Moolenaar  if version >= 600
64*071d4279SBram Moolenaar    HiLink changelogFuncs	Comment
65*071d4279SBram Moolenaar  endif
66*071d4279SBram Moolenaar  HiLink changelogHeader	Statement
67*071d4279SBram Moolenaar  HiLink changelogMail		Special
68*071d4279SBram Moolenaar  HiLink changelogNumber	Number
69*071d4279SBram Moolenaar  HiLink changelogMonth		Number
70*071d4279SBram Moolenaar  HiLink changelogDay		Number
71*071d4279SBram Moolenaar  HiLink changelogError		Folded
72*071d4279SBram Moolenaar
73*071d4279SBram Moolenaar  delcommand HiLink
74*071d4279SBram Moolenaarendif
75*071d4279SBram Moolenaar
76*071d4279SBram Moolenaarlet b:current_syntax = "changelog"
77*071d4279SBram Moolenaar
78*071d4279SBram Moolenaar" vim: ts=8
79