1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: Slrn score file (based on slrn 0.9.8.0) 37b0294cbSBram Moolenaar" Maintainer: Preben 'Peppe' Guldberg <[email protected]> 47b0294cbSBram Moolenaar" Last Change: 8 Oct 2004 5071d4279SBram Moolenaar 689bcfda6SBram Moolenaar" quit when a syntax file was already loaded 789bcfda6SBram Moolenaarif exists("b:current_syntax") 8071d4279SBram Moolenaar finish 9071d4279SBram Moolenaarendif 10071d4279SBram Moolenaar 11071d4279SBram Moolenaar" characters in newsgroup names 12071d4279SBram Moolenaarsetlocal isk=@,48-57,.,-,_,+ 13071d4279SBram Moolenaar 14071d4279SBram Moolenaarsyn match slrnscComment "%.*$" 15071d4279SBram Moolenaarsyn match slrnscSectionCom ".].*"lc=2 16071d4279SBram Moolenaar 17071d4279SBram Moolenaarsyn match slrnscGroup contained "\(\k\|\*\)\+" 18071d4279SBram Moolenaarsyn match slrnscNumber contained "\d\+" 19071d4279SBram Moolenaarsyn match slrnscDate contained "\(\d\{1,2}[-/]\)\{2}\d\{4}" 20071d4279SBram Moolenaarsyn match slrnscDelim contained ":" 21071d4279SBram Moolenaarsyn match slrnscComma contained "," 22071d4279SBram Moolenaarsyn match slrnscOper contained "\~" 23071d4279SBram Moolenaarsyn match slrnscEsc contained "\\[ecC<>.]" 24071d4279SBram Moolenaarsyn match slrnscEsc contained "[?^]" 25071d4279SBram Moolenaarsyn match slrnscEsc contained "[^\\]$\s*$"lc=1 26071d4279SBram Moolenaar 27071d4279SBram Moolenaarsyn keyword slrnscInclude contained include 28071d4279SBram Moolenaarsyn match slrnscIncludeLine "^\s*Include\s\+\S.*$" 29071d4279SBram Moolenaar 30071d4279SBram Moolenaarsyn region slrnscSection matchgroup=slrnscSectionStd start="^\s*\[" end='\]' contains=slrnscGroup,slrnscComma,slrnscSectionCom 31071d4279SBram Moolenaarsyn region slrnscSection matchgroup=slrnscSectionNot start="^\s*\[\~" end='\]' contains=slrnscGroup,slrnscCommas,slrnscSectionCom 32071d4279SBram Moolenaar 33071d4279SBram Moolenaarsyn keyword slrnscItem contained Age Bytes Date Expires From Has-Body Lines Message-Id Newsgroup References Subject Xref 34071d4279SBram Moolenaar 35071d4279SBram Moolenaarsyn match slrnscScoreItem contained "%.*$" skipempty nextgroup=slrnscScoreItem contains=slrnscComment 36071d4279SBram Moolenaarsyn match slrnscScoreItem contained "^\s*Expires:\s*\(\d\{1,2}[-/]\)\{2}\d\{4}\s*$" skipempty nextgroup=slrnscScoreItem contains=slrnscItem,slrnscDelim,slrnscDate 37071d4279SBram Moolenaarsyn match slrnscScoreItem contained "^\s*\~\=\(Age\|Bytes\|Has-Body\|Lines\):\s*\d\+\s*$" skipempty nextgroup=slrnscScoreItem contains=slrnscOper,slrnscItem,slrnscDelim,slrnscNumber 38071d4279SBram Moolenaarsyn match slrnscScoreItemFill contained ".*$" skipempty nextgroup=slrnscScoreItem contains=slrnscEsc 39071d4279SBram Moolenaarsyn match slrnscScoreItem contained "^\s*\~\=\(Date\|From\|Message-Id\|Newsgroup\|References\|Subject\|Xref\):" nextgroup=slrnscScoreItemFill contains=slrnscOper,slrnscItem,slrnscDelim 40071d4279SBram Moolenaarsyn region slrnscScoreItem contained matchgroup=Special start="^\s*\~\={::\=" end="^\s*}" skipempty nextgroup=slrnscScoreItem contains=slrnscScoreItem 41071d4279SBram Moolenaar 42071d4279SBram Moolenaarsyn keyword slrnscScore contained Score 43071d4279SBram Moolenaarsyn match slrnscScoreIdent contained "%.*" 447b0294cbSBram Moolenaarsyn match slrnScoreLine "^\s*Score::\=\s\+=\=[-+]\=\d\+\s*\(%.*\)\=$" skipempty nextgroup=slrnscScoreItem contains=slrnscScore,slrnscDelim,slrnscOper,slrnscNumber,slrnscScoreIdent 45071d4279SBram Moolenaar 46071d4279SBram Moolenaar" Define the default highlighting. 4789bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 48071d4279SBram Moolenaar 49*f37506f6SBram Moolenaarhi def link slrnscComment Comment 50*f37506f6SBram Moolenaarhi def link slrnscSectionCom slrnscComment 51*f37506f6SBram Moolenaarhi def link slrnscGroup String 52*f37506f6SBram Moolenaarhi def link slrnscNumber Number 53*f37506f6SBram Moolenaarhi def link slrnscDate Special 54*f37506f6SBram Moolenaarhi def link slrnscDelim Delimiter 55*f37506f6SBram Moolenaarhi def link slrnscComma SpecialChar 56*f37506f6SBram Moolenaarhi def link slrnscOper SpecialChar 57*f37506f6SBram Moolenaarhi def link slrnscEsc String 58*f37506f6SBram Moolenaarhi def link slrnscSectionStd Type 59*f37506f6SBram Moolenaarhi def link slrnscSectionNot Delimiter 60*f37506f6SBram Moolenaarhi def link slrnscItem Statement 61*f37506f6SBram Moolenaarhi def link slrnscScore Keyword 62*f37506f6SBram Moolenaarhi def link slrnscScoreIdent Identifier 63*f37506f6SBram Moolenaarhi def link slrnscInclude Keyword 64071d4279SBram Moolenaar 65071d4279SBram Moolenaar 66071d4279SBram Moolenaarlet b:current_syntax = "slrnsc" 67071d4279SBram Moolenaar 68071d4279SBram Moolenaar"EOF vim: ts=8 noet tw=200 sw=8 sts=0 69