summaryrefslogtreecommitdiffstats
path: root/runtime/syntax
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2011-05-19 12:22:51 +0200
committerBram Moolenaar <Bram@vim.org>2011-05-19 12:22:51 +0200
commit20f90cf99a156ba6fa93fc44047264685f210824 (patch)
tree230e40498e27cf023fff502634b81ce7618fb9e0 /runtime/syntax
parent3a7d8c3adb80c26564fa2e25f0edda38c905c3a3 (diff)
Updated runtime files.
Diffstat (limited to 'runtime/syntax')
-rw-r--r--runtime/syntax/dnsmasq.vim109
-rw-r--r--runtime/syntax/dot.vim8
-rw-r--r--runtime/syntax/gnash.vim21
-rw-r--r--runtime/syntax/ocaml.vim38
-rw-r--r--runtime/syntax/pfmain.vim536
5 files changed, 654 insertions, 58 deletions
diff --git a/runtime/syntax/dnsmasq.vim b/runtime/syntax/dnsmasq.vim
index e6976201f1..80248201f1 100644
--- a/runtime/syntax/dnsmasq.vim
+++ b/runtime/syntax/dnsmasq.vim
@@ -1,13 +1,20 @@
" Vim syntax file
" Language: dnsmasq(8) configuration file
" Maintainer: Thilo Six <T.Six@gmx.de>
-" Last Change: 2011 Apr 28
+" Last Change: 17 May 2011
" Credits: This file is a mix of cfg.vim, wget.vim and xf86conf.vim, credits go to:
" Igor N. Prischepoff
" Doug Kearns
" David Ne\v{c}as
"
-" Options: let dnsmasq_backrgound_light = 1
+" Options: You might want to add this to your vimrc:
+"
+" if &background == "dark"
+" " dnsmasq.vim
+" let dnsmasq_backrgound_light = 0
+" else
+" let dnsmasq_backrgound_light = 1
+" endif
"
" For version 5.x: Clear all syntax items
@@ -18,6 +25,7 @@ elseif exists ("b:current_syntax")
finish
endif
+
if !exists("b:dnsmasq_backrgound_light")
if exists("dnsmasq_backrgound_light")
let b:dnsmasq_backrgound_light = dnsmasq_backrgound_light
@@ -30,75 +38,136 @@ endif
" case on
syn case match
-"Parameters
-syn match DnsmasqParams "^.\{-}="me=e-1 contains=DnsmasqComment
-"... and their values (don't want to highlight '=' sign)
syn match DnsmasqValues "=.*"hs=s+1 contains=DnsmasqComment,DnsmasqSpecial
+syn match DnsmasqSpecial display '=\|@\|,\|!\|:' nextgroup=DnsmasqValues
+syn match DnsmasqSpecial "#"
-"...because we do it here.
-syn match DnsmasqEq display '=\|@\|/\|,' nextgroup=DnsmasqValues
+syn match DnsmasqIPv4 "\(\d\{1,3}\.\)\{3}\d\{1,3}" nextgroup=DnsmasqSubnet2,DnsmasqRange
+syn match DnsmasqSubnet "\<255.\(\d\{1,3}\.\)\{2}\d\{1,3}"
+syn match DnsmasqSubnet2 contained "\/\(\d\{1,2}\)\>"
+syn match DnsmasqRange contained "-"
+syn match DnsmasqMac "\<\(\x\x\?:\)\{5}\x\x\?"
-syn match DnsmasqSpecial "#"
+syn match DnsmasqTime "\<\(\d\{1,3}\)[hm]\>"
" String
-syn match DnsmasqString "\".*\""
-syn match DnsmasqString "'.*'"
+syn match DnsmasqString "\".*\""
+syn match DnsmasqString "'.*'"
" Comments
-syn match DnsmasqComment "^#.*$" contains=DnsmasqTodo
-syn match DnsmasqComment "[ \t]#.*$" contains=DnsmasqTodo
+syn match DnsmasqComment "^#.*$" contains=DnsmasqTodo
+syn match DnsmasqComment "\s#.*$" contains=DnsmasqTodo
syn keyword DnsmasqTodo FIXME TODO XXX NOT contained
+syn match DnsmasqKeywordSpecial "\<set\>:"me=e-1
+syn match DnsmasqKeywordSpecial "\<tag\>:"me=e-1
+syn match DnsmasqKeywordSpecial ",\<static\>"hs=s+1 contains=DnsmasqSpecial
+syn match DnsmasqKeywordSpecial ",\<infinite\>"hs=s+1 contains=DnsmasqSpecial
+syn match DnsmasqKeywordSpecial "\<encap\>:"me=e-1
+syn match DnsmasqKeywordSpecial "\<net\>:"me=e-1
+syn match DnsmasqKeywordSpecial "\<vendor\>:"me=e-1
+syn match DnsmasqKeywordSpecial "\<option\>:"me=e-1
+syn match DnsmasqKeywordSpecial ",\<ignore\>"hs=s+1 contains=DnsmasqSpecial
+syn match DnsmasqKeywordSpecial "\<id\>:"me=e-1
+
syn match DnsmasqKeyword "^\s*add-mac\>"
+syn match DnsmasqKeyword "^\s*addn-hosts\>"
+syn match DnsmasqKeyword "^\s*address\>"
+syn match DnsmasqKeyword "^\s*alias\>"
syn match DnsmasqKeyword "^\s*all-servers\>"
syn match DnsmasqKeyword "^\s*bind-interfaces\>"
+syn match DnsmasqKeyword "^\s*bogus-nxdomain\>"
syn match DnsmasqKeyword "^\s*bogus-priv\>"
+syn match DnsmasqKeyword "^\s*cache-size\>"
syn match DnsmasqKeyword "^\s*clear-on-reload\>"
+syn match DnsmasqKeyword "^\s*cname\>"
+syn match DnsmasqKeyword "^\s*conf-dir\>"
+syn match DnsmasqKeyword "^\s*conf-file\>"
syn match DnsmasqKeyword "^\s*dhcp-authoritative\>"
+syn match DnsmasqKeyword "^\s*dhcp-boot\>"
syn match DnsmasqKeyword "^\s*dhcp-fqdn\>"
+syn match DnsmasqKeyword "^\s*dhcp-host\>"
+syn match DnsmasqKeyword "^\s*dhcp-ignore\>"
+syn match DnsmasqKeyword "^\s*dhcp-lease-max\>"
+syn match DnsmasqKeyword "^\s*dhcp-leasefile\>"
+syn match DnsmasqKeyword "^\s*dhcp-mac\>"
+syn match DnsmasqKeyword "^\s*dhcp-match\>"
syn match DnsmasqKeyword "^\s*dhcp-no-override\>"
+syn match DnsmasqKeyword "^\s*dhcp-option-force\>"
+syn match DnsmasqKeyword "^\s*dhcp-option\>"
+syn match DnsmasqKeyword "^\s*dhcp-range\>"
+syn match DnsmasqKeyword "^\s*dhcp-script\>"
syn match DnsmasqKeyword "^\s*dhcp-scriptuser\>"
+syn match DnsmasqKeyword "^\s*dhcp-userclass\>"
+syn match DnsmasqKeyword "^\s*dhcp-vendorclass\>"
syn match DnsmasqKeyword "^\s*domain-needed\>"
+syn match DnsmasqKeyword "^\s*domain\>"
syn match DnsmasqKeyword "^\s*enable-dbus\>"
syn match DnsmasqKeyword "^\s*enable-tftp\>"
+syn match DnsmasqKeyword "^\s*except-interface\>"
syn match DnsmasqKeyword "^\s*expand-hosts\>"
syn match DnsmasqKeyword "^\s*filterwin2k\>"
+syn match DnsmasqKeyword "^\s*group\>"
+syn match DnsmasqKeyword "^\s*interface\>"
syn match DnsmasqKeyword "^\s*keep-in-foreground\>"
syn match DnsmasqKeyword "^\s*leasefile-ro\>"
+syn match DnsmasqKeyword "^\s*listen-address\>"
+syn match DnsmasqKeyword "^\s*local-ttl\>"
+syn match DnsmasqKeyword "^\s*local\>"
syn match DnsmasqKeyword "^\s*localise-queries\>"
syn match DnsmasqKeyword "^\s*localmx\>"
syn match DnsmasqKeyword "^\s*log-dhcp\>"
syn match DnsmasqKeyword "^\s*log-queries\>"
+syn match DnsmasqKeyword "^\s*mx-host\>"
+syn match DnsmasqKeyword "^\s*mx-target\>"
syn match DnsmasqKeyword "^\s*no-daemon\>"
+syn match DnsmasqKeyword "^\s*no-dhcp-interface\>"
syn match DnsmasqKeyword "^\s*no-hosts\>"
syn match DnsmasqKeyword "^\s*no-negcache\>"
syn match DnsmasqKeyword "^\s*no-ping\>"
syn match DnsmasqKeyword "^\s*no-poll\>"
syn match DnsmasqKeyword "^\s*no-resolv\>"
syn match DnsmasqKeyword "^\s*proxy-dnssec\>"
+syn match DnsmasqKeyword "^\s*ptr-record\>"
+syn match DnsmasqKeyword "^\s*pxe-prompt\>"
+syn match DnsmasqKeyword "^\s*pxe-service\>"
syn match DnsmasqKeyword "^\s*read-ethers\>"
syn match DnsmasqKeyword "^\s*rebind-localhost-ok\>"
+syn match DnsmasqKeyword "^\s*resolv-file\>"
syn match DnsmasqKeyword "^\s*selfmx\>"
+syn match DnsmasqKeyword "^\s*server\>"
+syn match DnsmasqKeyword "^\s*srv-host\>"
syn match DnsmasqKeyword "^\s*stop-dns-rebind\>"
syn match DnsmasqKeyword "^\s*strict-order\>"
syn match DnsmasqKeyword "^\s*tftp-no-blocksize\>"
+syn match DnsmasqKeyword "^\s*tftp-root\>"
syn match DnsmasqKeyword "^\s*tftp-secure\>"
syn match DnsmasqKeyword "^\s*tftp-unique-root\>"
+syn match DnsmasqKeyword "^\s*txt-record\>"
+syn match DnsmasqKeyword "^\s*user\>"
if b:dnsmasq_backrgound_light == 1
- hi def DnsmasqParams ctermfg=DarkGreen guifg=DarkGreen
- hi def DnsmasqKeyword ctermfg=DarkGreen guifg=DarkGreen
+ hi def DnsmasqParams ctermfg=DarkGreen guifg=DarkGreen
+ hi def DnsmasqKeyword ctermfg=DarkGreen guifg=DarkGreen
else
hi def link DnsmasqKeyword Keyword
hi def link DnsmasqParams Keyword
endif
-hi def link DnsmasqTodo Todo
-hi def link DnsmasqSpecial Constant
-hi def link DnsmasqComment Comment
-hi def link DnsmasqString Constant
-hi def link DnsmasqValues Normal
-hi def link DnsmasqEq Constant
+hi def link DnsmasqKeywordSpecial Type
+hi def link DnsmasqTodo Todo
+hi def link DnsmasqSpecial Constant
+hi def link DnsmasqIPv4 Identifier
+hi def link DnsmasqSubnet2 DnsmasqSubnet
+hi def link DnsmasqSubnet DnsmasqMac
+hi def link DnsmasqRange DnsmasqMac
+hi def link DnsmasqMac Preproc
+hi def link DnsmasqTime Preproc
+hi def link DnsmasqComment Comment
+hi def link DnsmasqString Constant
+hi def link DnsmasqValues Normal
+
let b:current_syntax = "dnsmasq"
+
diff --git a/runtime/syntax/dot.vim b/runtime/syntax/dot.vim
index 507f72e281..4cc6f4f21d 100644
--- a/runtime/syntax/dot.vim
+++ b/runtime/syntax/dot.vim
@@ -3,7 +3,7 @@
" Filenames: *.dot
" Maintainer: Markus Mottl <markus.mottl@gmail.com>
" URL: http://www.ocaml.info/vim/syntax/dot.vim
-" Last Change: 2006 Feb 05
+" Last Change: 2011 May 17 - improved identifier matching + two new keywords
" 2001 May 04 - initial version
" For version 5.x: Clear all syntax items
@@ -47,10 +47,10 @@ syn keyword dotType shape shapefile sides skew width
" Edge attributes
syn keyword dotType arrowhead arrowsize arrowtail constraint decorateP
-syn keyword dotType dir headclip headlabel labelangle labeldistance
+syn keyword dotType dir headclip headlabel headport labelangle labeldistance
syn keyword dotType labelfontcolor labelfontname labelfontsize
syn keyword dotType minlen port_label_distance samehead sametail
-syn keyword dotType tailclip taillabel weight
+syn keyword dotType tailclip taillabel tailport weight
" Shared attributes (graphs, nodes, edges)
syn keyword dotType color
@@ -67,7 +67,7 @@ syn match dotKeyChar ";"
syn match dotKeyChar "->"
" Identifier
-syn match dotIdentifier /\<\w\+\>/
+syn match dotIdentifier /\<\w\+\(:\w\+\)\?\>/
" Synchronization
syn sync minlines=50
diff --git a/runtime/syntax/gnash.vim b/runtime/syntax/gnash.vim
index 413ebaa643..97d5aa4cea 100644
--- a/runtime/syntax/gnash.vim
+++ b/runtime/syntax/gnash.vim
@@ -2,7 +2,7 @@
" Language: gnash(1) configuration files
" http://www.gnu.org/software/gnash/manual/gnashuser.html#gnashrc
" Maintainer: Thilo Six <T.Six@gmx.de>
-" Last Change: 2011 Apr 28
+" Last Change: 17 May 2011
" Credidts: derived from readline.vim
" Nikolai Weibull
"
@@ -15,16 +15,12 @@ elseif exists ("b:current_syntax")
finish
endif
-let s:cpo_save = &cpo
-set cpo&vim
-
-
syn case match
-
syn keyword GnashTodo contained TODO FIXME XXX NOTE
-syn region GnashComment display oneline start='^\s*#' end='$'
- \ contains=GnashTodo,@Spell
+" Comments
+syn match GnashComment "^#.*$" contains=GnashTodo
+syn match GnashComment "\s#.*$" contains=GnashTodo
syn match GnashNumber display '\<\d\+\>'
@@ -84,16 +80,13 @@ syn match GnashKeyword '\<webcamDevice\>'
syn match GnashKeyword '\<whitelist\>'
syn match GnashKeyword '\<writelog\>'
-hi def GnashOn ctermfg=Green guifg=Green
-hi def GnashOff ctermfg=Red guifg=Red
+hi def link GnashOn Identifier
+hi def link GnashOff Preproc
hi def link GnashComment Comment
hi def link GnashTodo Todo
hi def link GnashString String
-hi def link GnashNumber Normal
+hi def link GnashNumber Type
hi def link GnashSet String
hi def link GnashKeyword Keyword
let b:current_syntax = "gnash"
-
-let &cpo = s:cpo_save
-unlet s:cpo_save
diff --git a/runtime/syntax/ocaml.vim b/runtime/syntax/ocaml.vim
index 27eb3907e4..e2abc55242 100644
--- a/runtime/syntax/ocaml.vim
+++ b/runtime/syntax/ocaml.vim
@@ -5,9 +5,9 @@
" Karl-Heinz Sylla <Karl-Heinz.Sylla@gmd.de>
" Issac Trotts <ijtrotts@ucdavis.edu>
" URL: http://www.ocaml.info/vim/syntax/ocaml.vim
-" Last Change: 2007 Apr 13 - Added highlighting of nativeints (MM)
-" 2006 Oct 09 - More highlighting improvements to numbers (MM)
-" 2006 Sep 19 - Improved highlighting of numbers (Florent Monnier)
+" Last Change: 2010 Oct 11 - Added highlighting of lnot (MM, thanks to Erick Matsen)
+" 2010 Sep 03 - Fixed escaping bug (MM, thanks to Florent Monnier)
+" 2010 Aug 07 - Fixed module type bug (MM)
" A minor patch was applied to the official version so that object/end
" can be distinguished from begin/end, which is used for indentation,
@@ -24,14 +24,14 @@ endif
" OCaml is case sensitive.
syn case match
+" Access to the method of an object
+syn match ocamlMethod "#"
+
" Script headers highlighted like comments
syn match ocamlComment "^#!.*"
" Scripting directives
-syn match ocamlScript "^#\<\(quit\|labels\|warnings\|directory\|cd\|load\|use\|install_printer\|remove_printer\|require\|thread\|trace\|untrace\|untrace_all\|print_depth\|print_length\)\>"
-
-" Script headers highlighted like comments
-syn match ocamlComment "^#!.*"
+syn match ocamlScript "^#\<\(quit\|labels\|warnings\|directory\|cd\|load\|use\|install_printer\|remove_printer\|require\|thread\|trace\|untrace\|untrace_all\|print_depth\|print_length\|camlp4o\)\>"
" lowercase identifier - the standard way to match
syn match ocamlLCIdentifier /\<\(\l\|_\)\(\w\|'\)*\>/
@@ -69,7 +69,7 @@ syn cluster ocamlAllErrs contains=ocamlBraceErr,ocamlBrackErr,ocamlParenErr,oca
syn cluster ocamlAENoParen contains=ocamlBraceErr,ocamlBrackErr,ocamlCommentErr,ocamlCountErr,ocamlDoErr,ocamlDoneErr,ocamlEndErr,ocamlThenErr
-syn cluster ocamlContained contains=ocamlTodo,ocamlPreDef,ocamlModParam,ocamlModParam1,ocamlPreMPRestr,ocamlMPRestr,ocamlMPRestr1,ocamlMPRestr2,ocamlMPRestr3,ocamlModRHS,ocamlFuncWith,ocamlFuncStruct,ocamlModTypeRestr,ocamlModTRWith,ocamlWith,ocamlWithRest,ocamlModType,ocamlFullMod
+syn cluster ocamlContained contains=ocamlTodo,ocamlPreDef,ocamlModParam,ocamlModParam1,ocamlPreMPRestr,ocamlMPRestr,ocamlMPRestr1,ocamlMPRestr2,ocamlMPRestr3,ocamlModRHS,ocamlFuncWith,ocamlFuncStruct,ocamlModTypeRestr,ocamlModTRWith,ocamlWith,ocamlWithRest,ocamlModType,ocamlFullMod,ocamlVal
" Enclosing delimiters
@@ -109,9 +109,6 @@ syn region ocamlNone matchgroup=ocamlKeyword start="\<if\>" matchgroup=ocamlKe
"" Modules
-" "struct"
-syn region ocamlStruct matchgroup=ocamlModule start="\<struct\>" matchgroup=ocamlModule end="\<end\>" contains=ALLBUT,@ocamlContained,ocamlEndErr
-
" "sig"
syn region ocamlSig matchgroup=ocamlModule start="\<sig\>" matchgroup=ocamlModule end="\<end\>" contains=ALLBUT,@ocamlContained,ocamlEndErr,ocamlModule
syn region ocamlModSpec matchgroup=ocamlKeyword start="\<module\>" matchgroup=ocamlModule end="\<\u\(\w\|'\)*\>" contained contains=@ocamlAllErrs,ocamlComment skipwhite skipempty nextgroup=ocamlModTRWith,ocamlMPRestr
@@ -124,8 +121,8 @@ syn match ocamlKeyword "\<include\>" skipwhite skipempty nextgroup=ocamlModPa
" "module" - somewhat complicated stuff ;-)
syn region ocamlModule matchgroup=ocamlKeyword start="\<module\>" matchgroup=ocamlModule end="\<\u\(\w\|'\)*\>" contains=@ocamlAllErrs,ocamlComment skipwhite skipempty nextgroup=ocamlPreDef
-syn region ocamlPreDef start="."me=e-1 matchgroup=ocamlKeyword end="\l\|="me=e-1 contained contains=@ocamlAllErrs,ocamlComment,ocamlModParam,ocamlModTypeRestr,ocamlModTRWith nextgroup=ocamlModPreRHS
-syn region ocamlModParam start="([^*]" end=")" contained contains=@ocamlAENoParen,ocamlModParam1
+syn region ocamlPreDef start="."me=e-1 matchgroup=ocamlKeyword end="\l\|=\|)"me=e-1 contained contains=@ocamlAllErrs,ocamlComment,ocamlModParam,ocamlModTypeRestr,ocamlModTRWith nextgroup=ocamlModPreRHS
+syn region ocamlModParam start="([^*]" end=")" contained contains=@ocamlAENoParen,ocamlModParam1,ocamlVal
syn match ocamlModParam1 "\<\u\(\w\|'\)*\>" contained skipwhite skipempty nextgroup=ocamlPreMPRestr
syn region ocamlPreMPRestr start="."me=e-1 end=")"me=e-1 contained contains=@ocamlAllErrs,ocamlComment,ocamlMPRestr,ocamlModTypeRestr
@@ -135,6 +132,8 @@ syn region ocamlMPRestr1 matchgroup=ocamlModule start="\ssig\s\=" matchgroup=o
syn region ocamlMPRestr2 start="\sfunctor\(\s\|(\)\="me=e-1 matchgroup=ocamlKeyword end="->" contained contains=@ocamlAllErrs,ocamlComment,ocamlModParam skipwhite skipempty nextgroup=ocamlFuncWith,ocamlMPRestr2
syn match ocamlMPRestr3 "\w\(\w\|'\)*\(\.\w\(\w\|'\)*\)*" contained
syn match ocamlModPreRHS "=" contained skipwhite skipempty nextgroup=ocamlModParam,ocamlFullMod
+syn keyword ocamlKeyword val
+syn region ocamlVal matchgroup=ocamlKeyword start="\<val\>" matchgroup=ocamlLCIdentifier end="\<\l\(\w\|'\)*\>" contains=@ocamlAllErrs,ocamlComment skipwhite skipempty nextgroup=ocamlMPRestr
syn region ocamlModRHS start="." end=".\w\|([^*]"me=e-2 contained contains=ocamlComment skipwhite skipempty nextgroup=ocamlModParam,ocamlFullMod
syn match ocamlFullMod "\<\u\(\w\|'\)*\(\.\u\(\w\|'\)*\)*" contained skipwhite skipempty nextgroup=ocamlFuncWith
@@ -146,8 +145,11 @@ syn region ocamlModTRWith start=":\s*("hs=s+1 end=")" contained contains=@ocam
syn match ocamlWith "\<\(\u\(\w\|'\)*\.\)*\w\(\w\|'\)*\>" contained skipwhite skipempty nextgroup=ocamlWithRest
syn region ocamlWithRest start="[^)]" end=")"me=e-1 contained contains=ALLBUT,@ocamlContained
+" "struct"
+syn region ocamlStruct matchgroup=ocamlModule start="\<\(module\s\+\)\=struct\>" matchgroup=ocamlModule end="\<end\>" contains=ALLBUT,@ocamlContained,ocamlEndErr
+
" "module type"
-syn region ocamlKeyword start="\<module\>\s*\<type\>" matchgroup=ocamlModule end="\<\w\(\w\|'\)*\>" contains=ocamlComment skipwhite skipempty nextgroup=ocamlMTDef
+syn region ocamlKeyword start="\<module\>\s*\<type\>\(\s*\<of\>\)\=" matchgroup=ocamlModule end="\<\w\(\w\|'\)*\>" contains=ocamlComment skipwhite skipempty nextgroup=ocamlMTDef
syn match ocamlMTDef "=\s*\w\(\w\|'\)*\>"hs=s+1,me=s
syn keyword ocamlKeyword and as assert class
@@ -159,7 +161,7 @@ syn keyword ocamlKeyword land lazy let match
syn keyword ocamlKeyword method mutable new of
syn keyword ocamlKeyword parser private raise rec
syn keyword ocamlKeyword try type
-syn keyword ocamlKeyword val virtual when while with
+syn keyword ocamlKeyword virtual when while with
if exists("ocaml_revised")
syn keyword ocamlKeyword do value
@@ -174,7 +176,7 @@ syn keyword ocamlType array bool char exn float format format4
syn keyword ocamlType int int32 int64 lazy_t list nativeint option
syn keyword ocamlType string unit
-syn keyword ocamlOperator asr lor lsl lsr lxor mod not
+syn keyword ocamlOperator asr lnot lor lsl lsr lxor mod not
syn match ocamlConstructor "(\s*)"
syn match ocamlConstructor "\[\s*\]"
@@ -189,6 +191,7 @@ syn match ocamlConstructor "`\w\(\w\|'\)*\>"
syn match ocamlModPath "\u\(\w\|'\)*\."he=e-1
syn match ocamlCharacter "'\\\d\d\d'\|'\\[\'ntbr]'\|'.'"
+syn match ocamlCharacter "'\\x\x\x'"
syn match ocamlCharErr "'\\\d\d'\|'\\\d'"
syn match ocamlCharErr "'\\[^\'ntbr]'"
syn region ocamlString start=+"+ skip=+\\\\\|\\"+ end=+"+
@@ -220,7 +223,7 @@ syn match ocamlNumber "\<-\=\d\(_\|\d\)*[l|L|n]\?\>"
syn match ocamlNumber "\<-\=0[x|X]\(\x\|_\)\+[l|L|n]\?\>"
syn match ocamlNumber "\<-\=0[o|O]\(\o\|_\)\+[l|L|n]\?\>"
syn match ocamlNumber "\<-\=0[b|B]\([01]\|_\)\+[l|L|n]\?\>"
-syn match ocamlFloat "\<-\=\d\(_\|\d\)*\.\(_\|\d\)*\([eE][-+]\=\d\(_\|\d\)*\)\=\>"
+syn match ocamlFloat "\<-\=\d\(_\|\d\)*\.\?\(_\|\d\)*\([eE][-+]\=\d\(_\|\d\)*\)\=\>"
" Labels
syn match ocamlLabel "\~\(\l\|_\)\(\w\|'\)*"lc=1
@@ -294,6 +297,7 @@ if version >= 508 || !exists("did_ocaml_syntax_inits")
HiLink ocamlConstructor Constant
+ HiLink ocamlVal Keyword
HiLink ocamlModPreRHS Keyword
HiLink ocamlMPRestr2 Keyword
HiLink ocamlKeyword Keyword
diff --git a/runtime/syntax/pfmain.vim b/runtime/syntax/pfmain.vim
index 233c8d9c59..a0904457a2 100644
--- a/runtime/syntax/pfmain.vim
+++ b/runtime/syntax/pfmain.vim
@@ -1,10 +1,11 @@
" Vim syntax file
" Language: Postfix main.cf configuration
" Maintainer: KELEMEN Peter <Peter dot Kelemen at cern dot ch>
-" Last Change: 2006 Apr 15
-" Version: 0.20
+" Last Update: Hong Xu
+" Last Change: 2011 May 14
+" Version: 0.40
" URL: http://cern.ch/fuji/vim/syntax/pfmain.vim
-" Comment: Based on Postfix 2.3.x defaults.
+" Comment: Based on Postfix 2.9 defaults.
if version < 600
syntax clear
@@ -22,7 +23,9 @@ syntax case match
syntax sync minlines=1
syntax keyword pfmainConf 2bounce_notice_recipient
+syntax keyword pfmainConf access_map_defer_code
syntax keyword pfmainConf access_map_reject_code
+syntax keyword pfmainConf address_verify_cache_cleanup_interval
syntax keyword pfmainConf address_verify_default_transport
syntax keyword pfmainConf address_verify_local_transport
syntax keyword pfmainConf address_verify_map
@@ -36,6 +39,7 @@ syntax keyword pfmainConf address_verify_positive_refresh_time
syntax keyword pfmainConf address_verify_relay_transport
syntax keyword pfmainConf address_verify_relayhost
syntax keyword pfmainConf address_verify_sender
+syntax keyword pfmainConf address_verify_sender_dependent_default_transport_maps
syntax keyword pfmainConf address_verify_sender_dependent_relayhost_maps
syntax keyword pfmainConf address_verify_service_name
syntax keyword pfmainConf address_verify_transport_maps
@@ -83,22 +87,31 @@ syntax keyword pfmainConf connection_cache_service_name
syntax keyword pfmainConf connection_cache_status_update_time
syntax keyword pfmainConf connection_cache_ttl_limit
syntax keyword pfmainConf content_filter
+syntax keyword pfmainConf cyrus_sasl_config_path
syntax keyword pfmainConf daemon_directory
syntax keyword pfmainConf daemon_timeout
+syntax keyword pfmainConf data_directory
syntax keyword pfmainConf debug_peer_level
syntax keyword pfmainConf debug_peer_list
syntax keyword pfmainConf default_database_type
syntax keyword pfmainConf default_delivery_slot_cost
syntax keyword pfmainConf default_delivery_slot_discount
syntax keyword pfmainConf default_delivery_slot_loan
+syntax keyword pfmainConf default_destination_concurrency_failed_cohort_limit
syntax keyword pfmainConf default_destination_concurrency_limit
+syntax keyword pfmainConf default_destination_concurrency_negative_feedback
+syntax keyword pfmainConf default_destination_concurrency_positive_feedback
+syntax keyword pfmainConf default_destination_rate_delay
syntax keyword pfmainConf default_destination_recipient_limit
syntax keyword pfmainConf default_extra_recipient_limit
+syntax keyword pfmainConf default_filter_nexthop
syntax keyword pfmainConf default_minimum_delivery_slots
syntax keyword pfmainConf default_privs
syntax keyword pfmainConf default_process_limit
syntax keyword pfmainConf default_rbl_reply
syntax keyword pfmainConf default_recipient_limit
+syntax keyword pfmainConf default_recipient_refill_delay
+syntax keyword pfmainConf default_recipient_refill_limit
syntax keyword pfmainConf default_transport
syntax keyword pfmainConf default_verp_delimiters
syntax keyword pfmainConf defer_code
@@ -109,15 +122,22 @@ syntax keyword pfmainConf delay_notice_recipient
syntax keyword pfmainConf delay_warning_time
syntax keyword pfmainConf deliver_lock_attempts
syntax keyword pfmainConf deliver_lock_delay
+syntax keyword pfmainConf destination_concurrency_feedback_debug
+syntax keyword pfmainConf detect_8bit_encoding_header
syntax keyword pfmainConf disable_dns_lookups
syntax keyword pfmainConf disable_mime_input_processing
syntax keyword pfmainConf disable_mime_output_conversion
syntax keyword pfmainConf disable_verp_bounces
syntax keyword pfmainConf disable_vrfy_command
+syntax keyword pfmainConf dnsblog_reply_delay
+syntax keyword pfmainConf dnsblog_service_name
syntax keyword pfmainConf dont_remove
syntax keyword pfmainConf double_bounce_sender
syntax keyword pfmainConf duplicate_filter_limit
+syntax keyword pfmainConf empty_address_default_transport_maps_lookup_key
syntax keyword pfmainConf empty_address_recipient
+syntax keyword pfmainConf empty_address_relayhost_maps_lookup_key
+syntax keyword pfmainConf enable_long_queue_ids
syntax keyword pfmainConf enable_original_recipient
syntax keyword pfmainConf error_notice_recipient
syntax keyword pfmainConf error_service_name
@@ -151,13 +171,16 @@ syntax keyword pfmainConf in_flow_delay
syntax keyword pfmainConf inet_interfaces
syntax keyword pfmainConf inet_protocols
syntax keyword pfmainConf initial_destination_concurrency
+syntax keyword pfmainConf internal_mail_filter_classes
syntax keyword pfmainConf invalid_hostname_reject_code
syntax keyword pfmainConf ipc_idle
syntax keyword pfmainConf ipc_timeout
syntax keyword pfmainConf ipc_ttl
syntax keyword pfmainConf line_length_limit
+syntax keyword pfmainConf lmtp_address_preference
syntax keyword pfmainConf lmtp_bind_address
syntax keyword pfmainConf lmtp_bind_address6
+syntax keyword pfmainConf lmtp_body_checks
syntax keyword pfmainConf lmtp_cname_overrides_servername
syntax keyword pfmainConf lmtp_connect_timeout
syntax keyword pfmainConf lmtp_connection_cache_destinations
@@ -172,23 +195,34 @@ syntax keyword pfmainConf lmtp_destination_concurrency_limit
syntax keyword pfmainConf lmtp_destination_recipient_limit
syntax keyword pfmainConf lmtp_discard_lhlo_keyword_address_maps
syntax keyword pfmainConf lmtp_discard_lhlo_keywords
+syntax keyword pfmainConf lmtp_dns_resolver_options
syntax keyword pfmainConf lmtp_enforce_tls
syntax keyword pfmainConf lmtp_generic_maps
+syntax keyword pfmainConf lmtp_header_checks
syntax keyword pfmainConf lmtp_host_lookup
syntax keyword pfmainConf lmtp_lhlo_name
syntax keyword pfmainConf lmtp_lhlo_timeout
syntax keyword pfmainConf lmtp_line_length_limit
syntax keyword pfmainConf lmtp_mail_timeout
+syntax keyword pfmainConf lmtp_mime_header_checks
syntax keyword pfmainConf lmtp_mx_address_limit
syntax keyword pfmainConf lmtp_mx_session_limit
+syntax keyword pfmainConf lmtp_nested_header_checks
+syntax keyword pfmainConf lmtp_per_record_deadline
syntax keyword pfmainConf lmtp_pix_workaround_delay_time
+syntax keyword pfmainConf lmtp_pix_workaround_maps
syntax keyword pfmainConf lmtp_pix_workaround_threshold_time
+syntax keyword pfmainConf lmtp_pix_workarounds
syntax keyword pfmainConf lmtp_quit_timeout
syntax keyword pfmainConf lmtp_quote_rfc821_envelope
syntax keyword pfmainConf lmtp_randomize_addresses
syntax keyword pfmainConf lmtp_rcpt_timeout
+syntax keyword pfmainConf lmtp_reply_filter
syntax keyword pfmainConf lmtp_rset_timeout
+syntax keyword pfmainConf lmtp_sasl_auth_cache_name
+syntax keyword pfmainConf lmtp_sasl_auth_cache_time
syntax keyword pfmainConf lmtp_sasl_auth_enable
+syntax keyword pfmainConf lmtp_sasl_auth_soft_bounce
syntax keyword pfmainConf lmtp_sasl_mechanism_filter
syntax keyword pfmainConf lmtp_sasl_password_maps
syntax keyword pfmainConf lmtp_sasl_path
@@ -201,10 +235,34 @@ syntax keyword pfmainConf lmtp_sender_dependent_authentication
syntax keyword pfmainConf lmtp_skip_5xx_greeting
syntax keyword pfmainConf lmtp_starttls_timeout
syntax keyword pfmainConf lmtp_tcp_port
+syntax keyword pfmainConf lmtp_tls_CAfile
+syntax keyword pfmainConf lmtp_tls_CApath
+syntax keyword pfmainConf lmtp_tls_block_early_mail_reply
+syntax keyword pfmainConf lmtp_tls_cert_file
+syntax keyword pfmainConf lmtp_tls_ciphers
+syntax keyword pfmainConf lmtp_tls_dcert_file
+syntax keyword pfmainConf lmtp_tls_dkey_file
+syntax keyword pfmainConf lmtp_tls_eccert_file
+syntax keyword pfmainConf lmtp_tls_eckey_file
syntax keyword pfmainConf lmtp_tls_enforce_peername
+syntax keyword pfmainConf lmtp_tls_exclude_ciphers
+syntax keyword pfmainConf lmtp_tls_fingerprint_cert_match
+syntax keyword pfmainConf lmtp_tls_fingerprint_digest
+syntax keyword pfmainConf lmtp_tls_key_file
+syntax keyword pfmainConf lmtp_tls_loglevel
+syntax keyword pfmainConf lmtp_tls_mandatory_ciphers
+syntax keyword pfmainConf lmtp_tls_mandatory_exclude_ciphers
+syntax keyword pfmainConf lmtp_tls_mandatory_protocols
syntax keyword pfmainConf lmtp_tls_note_starttls_offer
syntax keyword pfmainConf lmtp_tls_per_site
+syntax keyword pfmainConf lmtp_tls_policy_maps
+syntax keyword pfmainConf lmtp_tls_protocols
syntax keyword pfmainConf lmtp_tls_scert_verifydepth
+syntax keyword pfmainConf lmtp_tls_secure_cert_match
+syntax keyword pfmainConf lmtp_tls_security_level
+syntax keyword pfmainConf lmtp_tls_session_cache_database
+syntax keyword pfmainConf lmtp_tls_session_cache_timeout
+syntax keyword pfmainConf lmtp_tls_verify_cert_match
syntax keyword pfmainConf lmtp_use_tls
syntax keyword pfmainConf lmtp_xforward_timeout
syntax keyword pfmainConf local_command_shell
@@ -229,6 +287,7 @@ syntax keyword pfmainConf mailq_path
syntax keyword pfmainConf manpage_directory
syntax keyword pfmainConf maps_rbl_domains
syntax keyword pfmainConf maps_rbl_reject_code
+syntax keyword pfmainConf master_service_disable
syntax keyword pfmainConf masquerade_classes
syntax keyword pfmainConf masquerade_domains
syntax keyword pfmainConf masquerade_exceptions
@@ -239,10 +298,31 @@ syntax keyword pfmainConf maximal_queue_lifetime
syntax keyword pfmainConf message_reject_characters
syntax keyword pfmainConf message_size_limit
syntax keyword pfmainConf message_strip_characters
+syntax keyword pfmainConf milter_command_timeout
+syntax keyword pfmainConf milter_connect_macros
+syntax keyword pfmainConf milter_connect_timeout
+syntax keyword pfmainConf milter_content_timeout
+syntax keyword pfmainConf milter_data_macros
+syntax keyword pfmainConf milter_default_action
+syntax keyword pfmainConf milter_end_of_data_macros
+syntax keyword pfmainConf milter_end_of_header_macros
+syntax keyword pfmainConf milter_header_checks
+syntax keyword pfmainConf milter_helo_macros
+syntax keyword pfmainConf milter_macro_daemon_name
+syntax keyword pfmainConf milter_macro_v
+syntax keyword pfmainConf milter_mail_macros
+syntax keyword pfmainConf milter_protocol
+syntax keyword pfmainConf milter_rcpt_macros
+syntax keyword pfmainConf milter_unknown_command_macros
syntax keyword pfmainConf mime_boundary_length_limit
syntax keyword pfmainConf mime_header_checks
syntax keyword pfmainConf mime_nesting_limit
syntax keyword pfmainConf minimal_backoff_time
+syntax keyword pfmainConf multi_instance_directories
+syntax keyword pfmainConf multi_instance_enable
+syntax keyword pfmainConf multi_instance_group
+syntax keyword pfmainConf multi_instance_name
+syntax keyword pfmainConf multi_instance_wrapper
syntax keyword pfmainConf multi_recipient_bounce_reject_code
syntax keyword pfmainConf mydestination
syntax keyword pfmainConf mydomain
@@ -253,23 +333,74 @@ syntax keyword pfmainConf myorigin
syntax keyword pfmainConf nested_header_checks
syntax keyword pfmainConf newaliases_path
syntax keyword pfmainConf non_fqdn_reject_code
+syntax keyword pfmainConf non_smtpd_milters
syntax keyword pfmainConf notify_classes
syntax keyword pfmainConf owner_request_special
syntax keyword pfmainConf parent_domain_matches_subdomains
syntax keyword pfmainConf permit_mx_backup_networks
syntax keyword pfmainConf pickup_service_name
syntax keyword pfmainConf plaintext_reject_code
+syntax keyword pfmainConf postmulti_control_commands
+syntax keyword pfmainConf postmulti_start_commands
+syntax keyword pfmainConf postmulti_stop_commands
+syntax keyword pfmainConf postscreen_access_list
+syntax keyword pfmainConf postscreen_bare_newline_action
+syntax keyword pfmainConf postscreen_bare_newline_enable
+syntax keyword pfmainConf postscreen_bare_newline_ttl
+syntax keyword pfmainConf postscreen_blacklist_action
+syntax keyword pfmainConf postscreen_cache_cleanup_interval
+syntax keyword pfmainConf postscreen_cache_map
+syntax keyword pfmainConf postscreen_cache_retention_time
+syntax keyword pfmainConf postscreen_client_connection_count_limit
+syntax keyword pfmainConf postscreen_command_count_limit
+syntax keyword pfmainConf postscreen_command_filter
+syntax keyword pfmainConf postscreen_command_time_limit
+syntax keyword pfmainConf postscreen_disable_vrfy_command
+syntax keyword pfmainConf postscreen_discard_ehlo_keyword_address_maps
+syntax keyword pfmainConf postscreen_discard_ehlo_keywords
+syntax keyword pfmainConf postscreen_dnsbl_action
+syntax keyword pfmainConf postscreen_dnsbl_reply_map
+syntax keyword pfmainConf postscreen_dnsbl_sites
+syntax keyword pfmainConf postscreen_dnsbl_threshold
+syntax keyword pfmainConf postscreen_dnsbl_ttl
+syntax keyword pfmainConf postscreen_enforce_tls
+syntax keyword pfmainConf postscreen_expansion_filter
+syntax keyword pfmainConf postscreen_forbidden_commands
+syntax keyword pfmainConf postscreen_greet_action
+syntax keyword pfmainConf postscreen_greet_banner
+syntax keyword pfmainConf postscreen_greet_ttl
+syntax keyword pfmainConf postscreen_greet_wait
+syntax keyword pfmainConf postscreen_helo_required
+syntax keyword pfmainConf postscreen_non_smtp_command_action
+syntax keyword pfmainConf postscreen_non_smtp_command_enable
+syntax keyword pfmainConf postscreen_non_smtp_command_ttl
+syntax keyword pfmainConf postscreen_pipelining_action
+syntax keyword pfmainConf postscreen_pipelining_enable
+syntax keyword pfmainConf postscreen_pipelining_ttl
+syntax keyword pfmainConf postscreen_post_queue_limit
+syntax keyword pfmainConf postscreen_pre_queue_limit
+syntax keyword pfmainConf postscreen_reject_footer
+syntax keyword pfmainConf postscreen_tls_security_level
+syntax keyword pfmainConf postscreen_use_tls
+syntax keyword pfmainConf postscreen_watchdog_timeout
+syntax keyword pfmainConf postscreen_whitelist_interfaces
syntax keyword pfmainConf prepend_delivered_header
+syntax keyword pfmainConf process_id
syntax keyword pfmainConf process_id_directory
+syntax keyword pfmainConf process_name
syntax keyword pfmainConf propagate_unmatched_extensions
syntax keyword pfmainConf proxy_interfaces
syntax keyword pfmainConf proxy_read_maps
+syntax keyword pfmainConf proxy_write_maps
+syntax keyword pfmainConf proxymap_service_name
+syntax keyword pfmainConf proxywrite_service_name
syntax keyword pfmainConf qmgr_clog_warn_time
syntax keyword pfmainConf qmgr_fudge_factor
syntax keyword pfmainConf qmgr_message_active_limit
syntax keyword pfmainConf qmgr_message_recipient_limit
syntax keyword pfmainConf qmgr_message_recipient_minimum
syntax keyword pfmainConf qmqpd_authorized_clients
+syntax keyword pfmainConf qmqpd_client_port_logging
syntax keyword pfmainConf qmqpd_error_delay
syntax keyword pfmainConf qmqpd_timeout
syntax keyword pfmainConf queue_directory
@@ -285,6 +416,7 @@ syntax keyword pfmainConf recipient_canonical_classes
syntax keyword pfmainConf recipient_canonical_maps
syntax keyword pfmainConf recipient_delimiter
syntax keyword pfmainConf reject_code
+syntax keyword pfmainConf reject_tempfail_action
syntax keyword pfmainConf relay_clientcerts
syntax keyword pfmainConf relay_destination_concurrency_limit
syntax keyword pfmainConf relay_destination_recipient_limit
@@ -296,23 +428,28 @@ syntax keyword pfmainConf relayhost
syntax keyword pfmainConf relocated_maps
syntax keyword pfmainConf remote_header_rewrite_domain
syntax keyword pfmainConf require_home_directory
+syntax keyword pfmainConf reset_owner_alias
syntax keyword pfmainConf resolve_dequoted_address
syntax keyword pfmainConf resolve_null_domain
syntax keyword pfmainConf resolve_numeric_domain
syntax keyword pfmainConf rewrite_service_name
syntax keyword pfmainConf sample_directory
+syntax keyword pfmainConf send_cyrus_sasl_authzid
syntax keyword pfmainConf sender_bcc_maps
syntax keyword pfmainConf sender_canonical_classes
syntax keyword pfmainConf sender_canonical_maps
+syntax keyword pfmainConf sender_dependent_default_transport_maps
syntax keyword pfmainConf sender_dependent_relayhost_maps
syntax keyword pfmainConf sendmail_path
syntax keyword pfmainConf service_throttle_time
syntax keyword pfmainConf setgid_group
syntax keyword pfmainConf show_user_unknown_table_name
syntax keyword pfmainConf showq_service_name
+syntax keyword pfmainConf smtp_address_preference
syntax keyword pfmainConf smtp_always_send_ehlo
syntax keyword pfmainConf smtp_bind_address
syntax keyword pfmainConf smtp_bind_address6
+syntax keyword pfmainConf smtp_body_checks
syntax keyword pfmainConf smtp_cname_overrides_servername
syntax keyword pfmainConf smtp_connect_timeout
syntax keyword pfmainConf smtp_connection_cache_destinations
@@ -327,25 +464,35 @@ syntax keyword pfmainConf smtp_destination_concurrency_limit
syntax keyword pfmainConf smtp_destination_recipient_limit
syntax keyword pfmainConf smtp_discard_ehlo_keyword_address_maps
syntax keyword pfmainConf smtp_discard_ehlo_keywords
+syntax keyword pfmainConf smtp_dns_resolver_options
syntax keyword pfmainConf smtp_enforce_tls
syntax keyword pfmainConf smtp_fallback_relay
syntax keyword pfmainConf smtp_generic_maps
+syntax keyword pfmainConf smtp_header_checks
syntax keyword pfmainConf smtp_helo_name
syntax keyword pfmainConf smtp_helo_timeout
syntax keyword pfmainConf smtp_host_lookup
syntax keyword pfmainConf smtp_line_length_limit
syntax keyword pfmainConf smtp_mail_timeout
+syntax keyword pfmainConf smtp_mime_header_checks
syntax keyword pfmainConf smtp_mx_address_limit
syntax keyword pfmainConf smtp_mx_session_limit
+syntax keyword pfmainConf smtp_nested_header_checks
syntax keyword pfmainConf smtp_never_send_ehlo
syntax keyword pfmainConf smtp_pix_workaround_delay_time
+syntax keyword pfmainConf smtp_pix_workaround_maps
syntax keyword pfmainConf smtp_pix_workaround_threshold_time
+syntax keyword pfmainConf smtp_pix_workarounds
syntax keyword pfmainConf smtp_quit_timeout
syntax keyword pfmainConf smtp_quote_rfc821_envelope
syntax keyword pfmainConf smtp_randomize_addresses
syntax keyword pfmainConf smtp_rcpt_timeout
+syntax keyword pfmainConf smtp_reply_filter
syntax keyword pfmainConf smtp_rset_timeout
+syntax keyword pfmainConf smtp_sasl_auth_cache_name
+syntax keyword pfmainConf smtp_sasl_auth_cache_time
syntax keyword pfmainConf smtp_sasl_auth_enable
+syntax keyword pfmainConf smtp_sasl_auth_soft_bounce
syntax keyword pfmainConf smtp_sasl_mechanism_filter
syntax keyword pfmainConf smtp_sasl_password_maps
syntax keyword pfmainConf smtp_sasl_path
@@ -360,18 +507,33 @@ syntax keyword pfmainConf smtp_skip_quit_response
syntax keyword pfmainConf smtp_starttls_timeout
syntax keyword pfmainConf smtp_tls_CAfile
syntax keyword pfmainConf smtp_tls_CApath
+syntax keyword pfmainConf smtp_tls_block_early_mail_reply
syntax keyword pfmainConf smtp_tls_cert_file
syntax keyword pfmainConf smtp_tls_cipherlist
+syntax keyword pfmainConf smtp_tls_ciphers
syntax keyword pfmainConf smtp_tls_dcert_file
syntax keyword pfmainConf smtp_tls_dkey_file
+syntax keyword pfmainConf smtp_tls_eccert_file
+syntax keyword pfmainConf smtp_tls_eckey_file
syntax keyword pfmainConf smtp_tls_enforce_peername
+syntax keyword pfmainConf smtp_tls_exclude_ciphers
+syntax keyword pfmainConf smtp_tls_fingerprint_cert_match