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