1" Vim syntax file
2" Language:             aliases(5) local alias database file
3" Previous Maintainer:  Nikolai Weibull <[email protected]>
4" Latest Revision:      2008-04-14
5
6if exists("b:current_syntax")
7  finish
8endif
9
10let s:cpo_save = &cpo
11set cpo&vim
12
13syn keyword mailaliasesTodo         contained TODO FIXME XXX NOTE
14
15syn region  mailaliasesComment      display oneline start='^\s*#' end='$'
16                                    \ contains=mailaliasesTodo,@Spell
17
18syn match   mailaliasesBegin        display '^'
19                                    \ nextgroup=mailaliasesName,
20                                    \ mailaliasesComment
21
22syn match   mailaliasesName         contained '[[:alnum:]\._-]\+'
23                                    \ nextgroup=mailaliasesColon
24
25syn region  mailaliasesName         contained oneline start=+"+
26                                    \ skip=+\\\\\|\\"+ end=+"+
27                                    \ nextgroup=mailaliasesColon
28
29syn match   mailaliasesColon        contained ':'
30                                    \ nextgroup=@mailaliasesValue
31                                    \ skipwhite skipnl
32
33syn cluster mailaliasesValue        contains=mailaliasesValueAddress,
34                                    \ mailaliasesValueFile,
35                                    \ mailaliasesValueCommand,
36                                    \ mailaliasesValueInclude
37
38syn match   mailaliasesValueAddress contained '[^ \t/|,]\+'
39                                    \ nextgroup=mailaliasesValueSep
40                                    \ skipwhite skipnl
41
42syn match   mailaliasesValueFile    contained '/[^,]*'
43                                    \ nextgroup=mailaliasesValueSep
44                                    \ skipwhite skipnl
45
46syn match   mailaliasesValueCommand contained '|[^,]*'
47                                    \ nextgroup=mailaliasesValueSep
48                                    \ skipwhite skipnl
49
50syn match   mailaliasesValueInclude contained ':include:[^,]*'
51                                    \ nextgroup=mailaliasesValueSep
52                                    \ skipwhite skipnl
53
54syn match   mailaliasesValueSep     contained ','
55                                    \ nextgroup=@mailaliasesValue
56                                    \ skipwhite skipnl
57
58hi def link mailaliasesTodo         Todo
59hi def link mailaliasesComment      Comment
60hi def link mailaliasesName         Identifier
61hi def link mailaliasesColon        Delimiter
62hi def link mailaliasesValueAddress String
63hi def link mailaliasesValueFile    String
64hi def link mailaliasesValueCommand String
65hi def link mailaliasesValueInclude PreProc
66hi def link mailaliasesValueSep     Delimiter
67
68let b:current_syntax = "mailaliases"
69
70let &cpo = s:cpo_save
71unlet s:cpo_save
72