1" 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 63