blob: a6c9dba418479b2447ad3cae0d548b6e6e35c376 [file] [log] [blame]
Bram Moolenaareee697b2006-03-21 21:20:39 +00001" Vim syntax file
2" Language: Asterisk voicemail config file
3" Maintainer: Tilghman Lesher (Corydon76)
4" Last Change: 2006 Mar 21
5" version 0.2
6"
7if version < 600
8 syntax clear
9elseif exists("b:current_syntax")
10 finish
11endif
12
13syn sync clear
14syn sync fromstart
15
16
17syn keyword asteriskvmTodo TODO contained
18syn match asteriskvmComment ";.*" contains=asteriskvmTodo
19syn match asteriskvmContext "\[.\{-}\]"
20
21" ZoneMessages
22syn match asteriskvmZone "^[[:alnum:]]\+\s*=>\?\s*[[:alnum:]/_]\+|.*$" contains=zoneName,zoneDef
23syn match zoneName "=\zs[[:alnum:]/_]\+\ze" contained
24syn match zoneDef "|\zs.*\ze$" contained
25
26syn match asteriskvmSetting "\<\(format\|serveremail\|minmessage\|maxmessage\|maxgreet\|skipms\|maxsilence\|silencethreshold\|maxlogins\)="
27syn match asteriskvmSetting "\<\(externnotify\|externpass\|directoryintro\|charset\|adsi\(fdn\|sec\|ver\)\|\(pager\)\?fromstring\|email\(subject\|body\|cmd\)\|tz\|cidinternalcontexts\|saydurationm\|dialout\|callback\)="
28syn match asteriskvmSettingBool "\<\(attach\|pbxskip\|usedirectory\|saycid\|sayduration\|sendvoicemail\|review\|operator\|envelope\|delete\|nextaftercmd\|forcename\|forcegreeting\)=\(yes\|no\|1\|0\|true\|false\|t\|f\)"
29
30" Individual mailbox definitions
31syn match asteriskvmMailbox "^[[:digit:]]\+\s*=>\?\s*[[:digit:]]\+\(,[^,]*\(,[^,]*\(,[^,]*\(,[^,]*\)\?\)\?\)\?\)\?" contains=mailboxEmail,asteriskvmSetting,asteriskvmSettingBool,comma
32syn match mailboxEmail ",\zs[^@=,]*@[[:alnum:]\-\.]\+\.[[:alpha:]]\{2,10}\ze" contains=comma
33syn match comma "[,|]" contained
34
35" Define the default highlighting.
36" For version 5.7 and earlier: only when not done already
37" For version 5.8 and later: only when an item doesn't have highlighting yet
38:if version >= 508 || !exists("did_conf_syntax_inits")
39 if version < 508
40 let did_conf_syntax_inits = 1
41 command -nargs=+ HiLink hi link <args>
42 else
43 command -nargs=+ HiLink hi def link <args>
44 endif
45
46 HiLink asteriskvmComment Comment
47 HiLink asteriskvmContext Identifier
48 HiLink asteriskvmZone Type
49 HiLink zoneName String
50 HiLink zoneDef String
51 HiLink asteriskvmSetting Type
52 HiLink asteriskvmSettingBool Type
53
54 HiLink asteriskvmMailbox Statement
55 HiLink mailboxEmail String
56 delcommand HiLink
57endif
58
59let b:current_syntax = "asteriskvm"
60
61" vim: ts=8 sw=2
62