xref: /vim-8.2.3635/runtime/syntax/changelog.vim (revision a5fb28b6)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:	generic ChangeLog file
3071d4279SBram Moolenaar" Written By:	Gediminas Paulauskas <[email protected]>
4071d4279SBram Moolenaar" Maintainer:	Corinna Vinschen <[email protected]>
5071d4279SBram Moolenaar" Last Change:	June 1, 2003
6071d4279SBram Moolenaar
7071d4279SBram Moolenaar" For version 5.x: Clear all syntax items
8071d4279SBram Moolenaar" For version 6.x: Quit when a syntax file was already loaded
9071d4279SBram Moolenaarif version < 600
10071d4279SBram Moolenaar  syntax clear
11071d4279SBram Moolenaarelseif exists("b:current_syntax")
12071d4279SBram Moolenaar  finish
13071d4279SBram Moolenaarendif
14071d4279SBram Moolenaar
15071d4279SBram Moolenaarsyn case ignore
16071d4279SBram Moolenaar
17071d4279SBram Moolenaarif exists('b:changelog_spacing_errors')
18071d4279SBram Moolenaar  let s:spacing_errors = b:changelog_spacing_errors
19071d4279SBram Moolenaarelseif exists('g:changelog_spacing_errors')
20071d4279SBram Moolenaar  let s:spacing_errors = g:changelog_spacing_errors
21071d4279SBram Moolenaarelse
22071d4279SBram Moolenaar  let s:spacing_errors = 1
23071d4279SBram Moolenaarendif
24071d4279SBram Moolenaar
25071d4279SBram Moolenaarif s:spacing_errors
26071d4279SBram Moolenaar  syn match	changelogError "^ \+"
27071d4279SBram Moolenaarendif
28071d4279SBram Moolenaar
29071d4279SBram Moolenaarsyn match	changelogText	"^\s.*$" contains=changelogMail,changelogNumber,changelogMonth,changelogDay,changelogError
30071d4279SBram Moolenaarsyn match	changelogHeader	"^\S.*$" contains=changelogNumber,changelogMonth,changelogDay,changelogMail
31071d4279SBram Moolenaarif version < 600
32071d4279SBram Moolenaar  syn region	changelogFiles	start="^\s\+[+*]\s" end=":\s" end="^$" contains=changelogBullet,changelogColon,changelogError keepend
33071d4279SBram Moolenaar  syn region	changelogFiles	start="^\s\+[([]" end=":\s" end="^$" contains=changelogBullet,changelogColon,changelogError keepend
34071d4279SBram Moolenaar  syn match	changelogColon	contained ":\s"
35071d4279SBram Moolenaarelse
36*a5fb28b6SBram Moolenaar  syn region	changelogFiles	start="^\s\+[+*]\s" end=":" end="^$" contains=changelogBullet,changelogColon,changelogFuncs,changelogError keepend
37*a5fb28b6SBram Moolenaar  syn region	changelogFiles	start="^\s\+[([]" end=":" end="^$" contains=changelogBullet,changelogColon,changelogFuncs,changelogError keepend
38*a5fb28b6SBram Moolenaar  syn match	changelogFuncs  contained "(.\{-})" extend
39*a5fb28b6SBram Moolenaar  syn match	changelogFuncs  contained "\[.\{-}]" extend
40071d4279SBram Moolenaar  syn match	changelogColon	contained ":"
41071d4279SBram Moolenaarendif
42071d4279SBram Moolenaarsyn match	changelogBullet	contained "^\s\+[+*]\s" contains=changelogError
43071d4279SBram Moolenaarsyn match	changelogMail	contained "<[A-Za-z0-9\._:+-]\+@[A-Za-z0-9\._-]\+>"
44071d4279SBram Moolenaarsyn keyword	changelogMonth	contained jan feb mar apr may jun jul aug sep oct nov dec
45071d4279SBram Moolenaarsyn keyword	changelogDay	contained mon tue wed thu fri sat sun
46071d4279SBram Moolenaarsyn match	changelogNumber	contained "[.-]*[0-9]\+"
47071d4279SBram Moolenaar
48071d4279SBram Moolenaar" Define the default highlighting.
49071d4279SBram Moolenaar" For version 5.7 and earlier: only when not done already
50071d4279SBram Moolenaar" For version 5.8 and later: only when an item doesn't have highlighting yet
51071d4279SBram Moolenaarif version >= 508 || !exists("did_changelog_syntax_inits")
52071d4279SBram Moolenaar  if version < 508
53071d4279SBram Moolenaar    let did_changelog_syntax_inits = 1
54071d4279SBram Moolenaar    command -nargs=+ HiLink hi link <args>
55071d4279SBram Moolenaar  else
56071d4279SBram Moolenaar    command -nargs=+ HiLink hi def link <args>
57071d4279SBram Moolenaar  endif
58071d4279SBram Moolenaar
59071d4279SBram Moolenaar  HiLink changelogText		Normal
60071d4279SBram Moolenaar  HiLink changelogBullet	Type
61071d4279SBram Moolenaar  HiLink changelogColon		Type
62071d4279SBram Moolenaar  HiLink changelogFiles		Comment
63071d4279SBram Moolenaar  if version >= 600
64071d4279SBram Moolenaar    HiLink changelogFuncs	Comment
65071d4279SBram Moolenaar  endif
66071d4279SBram Moolenaar  HiLink changelogHeader	Statement
67071d4279SBram Moolenaar  HiLink changelogMail		Special
68071d4279SBram Moolenaar  HiLink changelogNumber	Number
69071d4279SBram Moolenaar  HiLink changelogMonth		Number
70071d4279SBram Moolenaar  HiLink changelogDay		Number
71071d4279SBram Moolenaar  HiLink changelogError		Folded
72071d4279SBram Moolenaar
73071d4279SBram Moolenaar  delcommand HiLink
74071d4279SBram Moolenaarendif
75071d4279SBram Moolenaar
76071d4279SBram Moolenaarlet b:current_syntax = "changelog"
77071d4279SBram Moolenaar
78071d4279SBram Moolenaar" vim: ts=8
79