blob: 4bb4417f39abb7fbc6f4fed73336ed8741339787 [file] [log] [blame]
Abaakouk Mehdi5fb87e72010-07-21 12:51:38 +02001" Vim syntax file
2" Language: Sieve filtering language input file
3" Maintainer: Nikolai Weibull <now@bitwi.se>
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