xref: /vim-8.2.3635/runtime/syntax/procmail.vim (revision 01a6c216)
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
34
35hi def link procmailComment Comment
36hi def link procmailTodo    Todo
37
38hi def link procmailRecipe   Statement
39"hi def link procmailCondition   Statement
40
41hi 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
48
49hi def link procmailString String
50
51
52let b:current_syntax = "procmail"
53
54" vim: ts=8
55