xref: /vim-8.2.3635/runtime/syntax/procmail.vim (revision 89bcfda6)
1" Vim syntax file
2" Language:	Procmail definition file
3" Maintainer:	Melchior FRANZ <[email protected]>
4" Last Change:	2003 Aug 14
5" Author:	Sonia Heimann
6
7" quit when a syntax file was already loaded
8if exists("b:current_syntax")
9  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.
33" Only when an item doesn't have highlighting yet
34command -nargs=+ HiLink hi def link <args>
35
36HiLink procmailComment Comment
37HiLink procmailTodo    Todo
38
39HiLink procmailRecipe   Statement
40"HiLink procmailCondition   Statement
41
42HiLink procmailActionFolder	procmailAction
43HiLink procmailActionVariable procmailAction
44HiLink procmailActionForward	procmailAction
45HiLink procmailActionPipe	procmailAction
46HiLink procmailAction		Function
47HiLink procmailVar		Identifier
48HiLink procmailVarDecl	Identifier
49
50HiLink procmailString String
51
52delcommand HiLink
53
54let b:current_syntax = "procmail"
55
56" vim: ts=8
57