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