blob: fa55af54512fff3d96c806582b029dde392d9e5d [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
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02006
7" quit when a syntax file was already loaded
8if exists("b:current_syntax")
Bram Moolenaareee697b2006-03-21 21:20:39 +00009 finish
10endif
11
12syn sync clear
13syn sync fromstart
14
15
16syn keyword asteriskvmTodo TODO contained
17syn match asteriskvmComment ";.*" contains=asteriskvmTodo
18syn match asteriskvmContext "\[.\{-}\]"
19
20" ZoneMessages
21syn match asteriskvmZone "^[[:alnum:]]\+\s*=>\?\s*[[:alnum:]/_]\+|.*$" contains=zoneName,zoneDef
22syn match zoneName "=\zs[[:alnum:]/_]\+\ze" contained
23syn match zoneDef "|\zs.*\ze$" contained
24
25syn match asteriskvmSetting "\<\(format\|serveremail\|minmessage\|maxmessage\|maxgreet\|skipms\|maxsilence\|silencethreshold\|maxlogins\)="
26syn match asteriskvmSetting "\<\(externnotify\|externpass\|directoryintro\|charset\|adsi\(fdn\|sec\|ver\)\|\(pager\)\?fromstring\|email\(subject\|body\|cmd\)\|tz\|cidinternalcontexts\|saydurationm\|dialout\|callback\)="
27syn match asteriskvmSettingBool "\<\(attach\|pbxskip\|usedirectory\|saycid\|sayduration\|sendvoicemail\|review\|operator\|envelope\|delete\|nextaftercmd\|forcename\|forcegreeting\)=\(yes\|no\|1\|0\|true\|false\|t\|f\)"
28
29" Individual mailbox definitions
30syn match asteriskvmMailbox "^[[:digit:]]\+\s*=>\?\s*[[:digit:]]\+\(,[^,]*\(,[^,]*\(,[^,]*\(,[^,]*\)\?\)\?\)\?\)\?" contains=mailboxEmail,asteriskvmSetting,asteriskvmSettingBool,comma
31syn match mailboxEmail ",\zs[^@=,]*@[[:alnum:]\-\.]\+\.[[:alpha:]]\{2,10}\ze" contains=comma
32syn match comma "[,|]" contained
33
34" Define the default highlighting.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020035" Only when an item doesn't have highlighting yet
Bram Moolenaareee697b2006-03-21 21:20:39 +000036
Bram Moolenaarf37506f2016-08-31 22:22:10 +020037hi def link asteriskvmComment Comment
38hi def link asteriskvmContext Identifier
39hi def link asteriskvmZone Type
40hi def link zoneName String
41hi def link zoneDef String
42hi def link asteriskvmSetting Type
43hi def link asteriskvmSettingBool Type
Bram Moolenaareee697b2006-03-21 21:20:39 +000044
Bram Moolenaarf37506f2016-08-31 22:22:10 +020045hi def link asteriskvmMailbox Statement
46hi def link mailboxEmail String
Bram Moolenaareee697b2006-03-21 21:20:39 +000047
48let b:current_syntax = "asteriskvm"
49
50" vim: ts=8 sw=2
51