xref: /vim-8.2.3635/runtime/syntax/sieve.vim (revision 42eeac35)
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