1eee697b7SBram Moolenaar" Vim syntax file
2eee697b7SBram Moolenaar" Language:	Asterisk voicemail config file
3eee697b7SBram Moolenaar" Maintainer: Tilghman Lesher (Corydon76)
4eee697b7SBram Moolenaar" Last Change:	2006 Mar 21
5eee697b7SBram Moolenaar" version 0.2
689bcfda6SBram Moolenaar
789bcfda6SBram Moolenaar" quit when a syntax file was already loaded
889bcfda6SBram Moolenaarif exists("b:current_syntax")
9eee697b7SBram Moolenaar  finish
10eee697b7SBram Moolenaarendif
11eee697b7SBram Moolenaar
12eee697b7SBram Moolenaarsyn sync clear
13eee697b7SBram Moolenaarsyn sync fromstart
14eee697b7SBram Moolenaar
15eee697b7SBram Moolenaar
16eee697b7SBram Moolenaarsyn keyword     asteriskvmTodo    TODO contained
17eee697b7SBram Moolenaarsyn match       asteriskvmComment         ";.*" contains=asteriskvmTodo
18eee697b7SBram Moolenaarsyn match       asteriskvmContext         "\[.\{-}\]"
19eee697b7SBram Moolenaar
20eee697b7SBram Moolenaar" ZoneMessages
21eee697b7SBram Moolenaarsyn match       asteriskvmZone            "^[[:alnum:]]\+\s*=>\?\s*[[:alnum:]/_]\+|.*$" contains=zoneName,zoneDef
22eee697b7SBram Moolenaarsyn match       zoneName                "=\zs[[:alnum:]/_]\+\ze" contained
23eee697b7SBram Moolenaarsyn match       zoneDef                 "|\zs.*\ze$" contained
24eee697b7SBram Moolenaar
25eee697b7SBram Moolenaarsyn match       asteriskvmSetting         "\<\(format\|serveremail\|minmessage\|maxmessage\|maxgreet\|skipms\|maxsilence\|silencethreshold\|maxlogins\)="
26eee697b7SBram Moolenaarsyn match       asteriskvmSetting         "\<\(externnotify\|externpass\|directoryintro\|charset\|adsi\(fdn\|sec\|ver\)\|\(pager\)\?fromstring\|email\(subject\|body\|cmd\)\|tz\|cidinternalcontexts\|saydurationm\|dialout\|callback\)="
27eee697b7SBram Moolenaarsyn match       asteriskvmSettingBool     "\<\(attach\|pbxskip\|usedirectory\|saycid\|sayduration\|sendvoicemail\|review\|operator\|envelope\|delete\|nextaftercmd\|forcename\|forcegreeting\)=\(yes\|no\|1\|0\|true\|false\|t\|f\)"
28eee697b7SBram Moolenaar
29eee697b7SBram Moolenaar" Individual mailbox definitions
30eee697b7SBram Moolenaarsyn match       asteriskvmMailbox         "^[[:digit:]]\+\s*=>\?\s*[[:digit:]]\+\(,[^,]*\(,[^,]*\(,[^,]*\(,[^,]*\)\?\)\?\)\?\)\?" contains=mailboxEmail,asteriskvmSetting,asteriskvmSettingBool,comma
31eee697b7SBram Moolenaarsyn match       mailboxEmail            ",\zs[^@=,]*@[[:alnum:]\-\.]\+\.[[:alpha:]]\{2,10}\ze" contains=comma
32eee697b7SBram Moolenaarsyn match       comma                   "[,|]" contained
33eee697b7SBram Moolenaar
34eee697b7SBram Moolenaar" Define the default highlighting.
3589bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
36eee697b7SBram Moolenaar
37*f37506f6SBram Moolenaarhi def link        asteriskvmComment Comment
38*f37506f6SBram Moolenaarhi def link        asteriskvmContext         Identifier
39*f37506f6SBram Moolenaarhi def link        asteriskvmZone            Type
40*f37506f6SBram Moolenaarhi def link        zoneName                String
41*f37506f6SBram Moolenaarhi def link        zoneDef                 String
42*f37506f6SBram Moolenaarhi def link        asteriskvmSetting         Type
43*f37506f6SBram Moolenaarhi def link        asteriskvmSettingBool     Type
44eee697b7SBram Moolenaar
45*f37506f6SBram Moolenaarhi def link        asteriskvmMailbox         Statement
46*f37506f6SBram Moolenaarhi def link        mailboxEmail            String
47eee697b7SBram Moolenaar
48eee697b7SBram Moolenaarlet b:current_syntax = "asteriskvm"
49eee697b7SBram Moolenaar
50eee697b7SBram Moolenaar" vim: ts=8 sw=2
51eee697b7SBram Moolenaar
52