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