1" Vim syntax file 2" Language: Slrn score file (based on slrn 0.9.8.0) 3" Maintainer: Preben 'Peppe' Guldberg <[email protected]> 4" Last Change: 8 Oct 2004 5 6" quit when a syntax file was already loaded 7if exists("b:current_syntax") 8 finish 9endif 10 11" characters in newsgroup names 12setlocal isk=@,48-57,.,-,_,+ 13 14syn match slrnscComment "%.*$" 15syn match slrnscSectionCom ".].*"lc=2 16 17syn match slrnscGroup contained "\(\k\|\*\)\+" 18syn match slrnscNumber contained "\d\+" 19syn match slrnscDate contained "\(\d\{1,2}[-/]\)\{2}\d\{4}" 20syn match slrnscDelim contained ":" 21syn match slrnscComma contained "," 22syn match slrnscOper contained "\~" 23syn match slrnscEsc contained "\\[ecC<>.]" 24syn match slrnscEsc contained "[?^]" 25syn match slrnscEsc contained "[^\\]$\s*$"lc=1 26 27syn keyword slrnscInclude contained include 28syn match slrnscIncludeLine "^\s*Include\s\+\S.*$" 29 30syn region slrnscSection matchgroup=slrnscSectionStd start="^\s*\[" end='\]' contains=slrnscGroup,slrnscComma,slrnscSectionCom 31syn region slrnscSection matchgroup=slrnscSectionNot start="^\s*\[\~" end='\]' contains=slrnscGroup,slrnscCommas,slrnscSectionCom 32 33syn keyword slrnscItem contained Age Bytes Date Expires From Has-Body Lines Message-Id Newsgroup References Subject Xref 34 35syn match slrnscScoreItem contained "%.*$" skipempty nextgroup=slrnscScoreItem contains=slrnscComment 36syn match slrnscScoreItem contained "^\s*Expires:\s*\(\d\{1,2}[-/]\)\{2}\d\{4}\s*$" skipempty nextgroup=slrnscScoreItem contains=slrnscItem,slrnscDelim,slrnscDate 37syn match slrnscScoreItem contained "^\s*\~\=\(Age\|Bytes\|Has-Body\|Lines\):\s*\d\+\s*$" skipempty nextgroup=slrnscScoreItem contains=slrnscOper,slrnscItem,slrnscDelim,slrnscNumber 38syn match slrnscScoreItemFill contained ".*$" skipempty nextgroup=slrnscScoreItem contains=slrnscEsc 39syn match slrnscScoreItem contained "^\s*\~\=\(Date\|From\|Message-Id\|Newsgroup\|References\|Subject\|Xref\):" nextgroup=slrnscScoreItemFill contains=slrnscOper,slrnscItem,slrnscDelim 40syn region slrnscScoreItem contained matchgroup=Special start="^\s*\~\={::\=" end="^\s*}" skipempty nextgroup=slrnscScoreItem contains=slrnscScoreItem 41 42syn keyword slrnscScore contained Score 43syn match slrnscScoreIdent contained "%.*" 44syn match slrnScoreLine "^\s*Score::\=\s\+=\=[-+]\=\d\+\s*\(%.*\)\=$" skipempty nextgroup=slrnscScoreItem contains=slrnscScore,slrnscDelim,slrnscOper,slrnscNumber,slrnscScoreIdent 45 46" Define the default highlighting. 47" Only when an item doesn't have highlighting yet 48 49hi def link slrnscComment Comment 50hi def link slrnscSectionCom slrnscComment 51hi def link slrnscGroup String 52hi def link slrnscNumber Number 53hi def link slrnscDate Special 54hi def link slrnscDelim Delimiter 55hi def link slrnscComma SpecialChar 56hi def link slrnscOper SpecialChar 57hi def link slrnscEsc String 58hi def link slrnscSectionStd Type 59hi def link slrnscSectionNot Delimiter 60hi def link slrnscItem Statement 61hi def link slrnscScore Keyword 62hi def link slrnscScoreIdent Identifier 63hi def link slrnscInclude Keyword 64 65 66let b:current_syntax = "slrnsc" 67 68"EOF vim: ts=8 noet tw=200 sw=8 sts=0 69