blob: 93f50fe9efe66844145a1d44c4161f379d971949 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" 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
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02007" quit when a syntax file was already loaded
8if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +00009 finish
10endif
11
12syn match procmailComment "#.*$" contains=procmailTodo
13syn keyword procmailTodo contained Todo TBD
14
15syn region procmailString start=+"+ skip=+\\"+ end=+"+
16syn region procmailString start=+'+ skip=+\\'+ end=+'+
17
18syn region procmailVarDeclRegion start="^\s*[a-zA-Z0-9_]\+\s*="hs=e-1 skip=+\\$+ end=+$+ contains=procmailVar,procmailVarDecl,procmailString
19syn match procmailVarDecl contained "^\s*[a-zA-Z0-9_]\+"
20syn match procmailVar "$[a-zA-Z0-9_]\+"
21
22syn match procmailCondition contained "^\s*\*.*"
23
24syn match procmailActionFolder contained "^\s*[-_a-zA-Z0-9/]\+"
25syn match procmailActionVariable contained "^\s*$[a-zA-Z_]\+"
26syn region procmailActionForward start=+^\s*!+ skip=+\\$+ end=+$+
27syn region procmailActionPipe start=+^\s*|+ skip=+\\$+ end=+$+
28syn region procmailActionNested start=+^\s*{+ end=+^\s*}+ contains=procmailRecipe,procmailComment,procmailVarDeclRegion
29
30syn region procmailRecipe start=+^\s*:.*$+ end=+^\s*\($\|}\)+me=e-1 contains=procmailComment,procmailCondition,procmailActionFolder,procmailActionVariable,procmailActionForward,procmailActionPipe,procmailActionNested,procmailVarDeclRegion
31
32" Define the default highlighting.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020033" Only when an item doesn't have highlighting yet
Bram Moolenaar071d4272004-06-13 20:20:40 +000034
Bram Moolenaarf37506f2016-08-31 22:22:10 +020035hi def link procmailComment Comment
36hi def link procmailTodo Todo
Bram Moolenaar071d4272004-06-13 20:20:40 +000037
Bram Moolenaarf37506f2016-08-31 22:22:10 +020038hi def link procmailRecipe Statement
39"hi def link procmailCondition Statement
Bram Moolenaar071d4272004-06-13 20:20:40 +000040
Bram Moolenaarf37506f2016-08-31 22:22:10 +020041hi def link procmailActionFolder procmailAction
42hi def link procmailActionVariable procmailAction
43hi def link procmailActionForward procmailAction
44hi def link procmailActionPipe procmailAction
45hi def link procmailAction Function
46hi def link procmailVar Identifier
47hi def link procmailVarDecl Identifier
Bram Moolenaar071d4272004-06-13 20:20:40 +000048
Bram Moolenaarf37506f2016-08-31 22:22:10 +020049hi def link procmailString String
Bram Moolenaar071d4272004-06-13 20:20:40 +000050
Bram Moolenaar071d4272004-06-13 20:20:40 +000051
52let b:current_syntax = "procmail"
53
54" vim: ts=8