blob: 9202dbf29a6b29f24c744457e6ef4687e983a6ea [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
34command -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +000035
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020036HiLink procmailComment Comment
37HiLink procmailTodo Todo
Bram Moolenaar071d4272004-06-13 20:20:40 +000038
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020039HiLink procmailRecipe Statement
40"HiLink procmailCondition Statement
Bram Moolenaar071d4272004-06-13 20:20:40 +000041
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020042HiLink procmailActionFolder procmailAction
43HiLink procmailActionVariable procmailAction
44HiLink procmailActionForward procmailAction
45HiLink procmailActionPipe procmailAction
46HiLink procmailAction Function
47HiLink procmailVar Identifier
48HiLink procmailVarDecl Identifier
Bram Moolenaar071d4272004-06-13 20:20:40 +000049
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020050HiLink procmailString String
Bram Moolenaar071d4272004-06-13 20:20:40 +000051
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020052delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +000053
54let b:current_syntax = "procmail"
55
56" vim: ts=8