1" Vim syntax file 2" Language: Sieve filtering language input file 3" Previous Maintainer: Nikolai Weibull <[email protected]> 4" Latest Revision: 2007-10-25 5 6if exists("b:current_syntax") 7 finish 8endif 9 10let s:cpo_save = &cpo 11set cpo&vim 12 13syn keyword sieveTodo contained TODO FIXME XXX NOTE 14 15syn region sieveComment start='/\*' end='\*/' contains=sieveTodo,@Spell 16syn region sieveComment display oneline start='#' end='$' 17 \ contains=sieveTodo,@Spell 18 19syn case ignore 20 21syn match sieveTag display ':\h\w*' 22 23syn match sieveNumber display '\<\d\+[KMG]\=\>' 24 25syn match sieveSpecial display '\\["\\]' 26 27syn region sieveString start=+"+ skip=+\\\\\|\\"+ end=+"+ 28 \ contains=sieveSpecial 29syn region sieveString start='text:' end='\n.\n' 30 31syn keyword sieveConditional if elsif else 32syn keyword sieveTest address allof anyof envelope exists false header 33 \ not size true 34syn keyword sievePreProc require stop 35syn keyword sieveAction reject fileinto redirect keep discard 36syn keyword sieveKeyword vacation 37 38syn case match 39 40hi def link sieveTodo Todo 41hi def link sieveComment Comment 42hi def link sieveTag Type 43hi def link sieveNumber Number 44hi def link sieveSpecial Special 45hi def link sieveString String 46hi def link sieveConditional Conditional 47hi def link sieveTest Keyword 48hi def link sievePreProc PreProc 49hi def link sieveAction Function 50hi def link sieveKeyword Keyword 51 52let b:current_syntax = "sieve" 53 54let &cpo = s:cpo_save 55unlet s:cpo_save 56