procmail.vim (2131B)
1 " Vim syntax file 2 " Language: Procmail definition file 3 " Maintainer: Melchior FRANZ <mfranz@aon.at> 4 " Last Change: 2003 Aug 14 5 " Author: Sonia Heimann 6 " Modified By: haydenh <hayden@haydenvh.com> 7 8 " quit when a syntax file was already loaded 9 if exists("b:current_syntax") 10 finish 11 endif 12 13 syn include @procmailShell syntax/sh.vim 14 15 syn match procmailComment "#.*$" contains=procmailTodo 16 syn keyword procmailTodo contained Todo TBD 17 18 syn region procmailString start=+"+ skip=+\\"+ end=+"+ 19 syn region procmailString start=+'+ skip=+\\'+ end=+'+ 20 21 syn region procmailVarDeclRegion start="^\s*[a-zA-Z0-9_]\+\s*="hs=e-1 skip=+\\$+ end=+$+ contains=procmailVar,procmailVarDecl,procmailString 22 syn match procmailVarDecl contained "^\s*[a-zA-Z0-9_]\+" 23 syn match procmailVar "$[a-zA-Z0-9_]\+" 24 syn match procmailPipeStart "|" 25 26 syn match procmailCondition contained "^\s*\*.*" 27 28 syn match procmailActionFolder contained "^\s*[-_a-zA-Z0-9/]\+" 29 syn match procmailActionVariable contained "^\s*$[a-zA-Z_]\+" 30 syn region procmailActionForward start=+^\s*!+ skip=+\\$+ end=+$+ 31 syn region procmailActionPipe start=+^\s*|+ skip=+\\$+ end=+$+ contains=procmailPipeStart,@procmailShell 32 syn region procmailActionNested start=+^\s*{+ end=+^\s*}+ contains=procmailRecipe,procmailComment,procmailVarDeclRegion 33 34 syn region procmailRecipe start=+^\s*:.*$+ end=+^\s*\($\|}\)+me=e-1 contains=procmailComment,procmailCondition,procmailActionFolder,procmailActionVariable,procmailActionForward,procmailActionPipe,procmailActionNested,procmailVarDeclRegion 35 36 hi def link procmailComment Comment 37 hi def link procmailTodo Todo 38 39 hi def link procmailRecipe Statement 40 hi def link procmailCondition String 41 42 hi def link procmailActionFolder procmailAction 43 hi def link procmailActionVariable procmailAction 44 hi def link procmailActionForward procmailAction 45 hi def link procmailPipeStart procmailAction 46 hi def link procmailAction Function 47 hi def link procmailVar Identifier 48 hi def link procmailVarDecl Identifier 49 50 hi def link procmailString String 51 52 53 let b:current_syntax = "procmail" 54 55 " vim: ts=8