[CONTRIB] added a VIM script for syntax coloring
diff --git a/examples/haproxy.vim b/examples/haproxy.vim
new file mode 100644
index 0000000..74f5faf
--- /dev/null
+++ b/examples/haproxy.vim
@@ -0,0 +1,163 @@
+" Vim syntax file
+" Language:    HAproxy
+" Maintainer:  Bruno Michel <brmichel@free.fr>
+" Last Change: Mar 30, 2007
+" Version:     0.3
+" URL:         http://haproxy.1wt.eu/
+" URL:         http://vim.sourceforge.net/scripts/script.php?script_id=1845
+
+" It is suggested to add the following line to $HOME/.vimrc :
+"    au BufRead,BufNewFile haproxy* set ft=haproxy
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+	syntax clear
+elseif exists("b:current_syntax")
+	finish
+endif
+
+if version >= 600
+	setlocal iskeyword=_,-,a-z,A-Z,48-57
+else
+	set iskeyword=_,-,a-z,A-Z,48-57
+endif
+
+
+" Escaped chars
+syn match   hapEscape    +\\\(\\\| \|n\|r\|t\|#\|x\x\x\)+
+
+" Comments
+syn match   hapComment   /#.*$/ contains=hapTodo
+syn keyword hapTodo      contained TODO FIXME XXX
+syn case ignore
+
+" Sections
+syn match   hapSection   /^\s*\(global\|defaults\)/
+syn match   hapSection   /^\s*\(listen\|frontend\|backend\|ruleset\)/         skipwhite nextgroup=hapSectLabel
+syn match   hapSectLabel /\S\+/                                               skipwhite nextgroup=hapIp1 contained
+syn match   hapIp1       /\(\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\)\?:\d\{1,5}/        nextgroup=hapIp2 contained
+syn match   hapIp2       /,\(\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\)\?:\d\{1,5}/hs=s+1 nextgroup=hapIp2 contained
+
+" Parameters
+syn keyword hapParam     chroot cliexp clitimeout contimeout
+syn keyword hapParam     daemon debug disabled
+syn keyword hapParam     enabled
+syn keyword hapParam     fullconn
+syn keyword hapParam     gid grace
+syn keyword hapParam     maxconn monitor-uri
+syn keyword hapParam     nbproc noepoll nopoll
+syn keyword hapParam     pidfile
+syn keyword hapParam     quiet
+syn keyword hapParam     redispatch retries
+syn keyword hapParam     reqallow  reqdel  reqdeny  reqpass  reqtarpit  skipwhite nextgroup=hapRegexp
+syn keyword hapParam     reqiallow reqidel reqideny reqipass reqitarpit skipwhite nextgroup=hapRegexp
+syn keyword hapParam     rspdel  rspdeny    skipwhite nextgroup=hapRegexp
+syn keyword hapParam     rspidel rspideny   skipwhite nextgroup=hapRegexp
+syn keyword hapParam     reqsetbe reqisetbe skipwhite nextgroup=hapRegexp2
+syn keyword hapParam     reqadd reqiadd rspadd rspiadd
+syn keyword hapParam     server source srvexp srvtimeout
+syn keyword hapParam     uid ulimit-n
+syn keyword hapParam     reqrep reqirep rsprep rspirep    skipwhite nextgroup=hapRegexp
+syn keyword hapParam     errorloc errorloc302 errorloc303 skipwhite nextgroup=hapStatus
+syn keyword hapParam     default_backend                  skipwhite nextgroup=hapSectLabel
+syn keyword hapParam     appsession  skipwhite nextgroup=hapAppSess
+syn keyword hapParam     bind        skipwhite nextgroup=hapIp1
+syn keyword hapParam     balance     skipwhite nextgroup=hapBalance
+syn keyword hapParam     cookie      skipwhite nextgroup=hapCookieNam
+syn keyword hapParam     capture     skipwhite nextgroup=hapCapture
+syn keyword hapParam     dispatch    skipwhite nextgroup=hapIpPort
+syn keyword hapParam     source      skipwhite nextgroup=hapIpPort
+syn keyword hapParam     mode        skipwhite nextgroup=hapMode
+syn keyword hapParam     monitor-net skipwhite nextgroup=hapMonitorN
+syn keyword hapParam     option      skipwhite nextgroup=hapOption
+syn keyword hapParam     stats       skipwhite nextgroup=hapStats
+syn keyword hapParam     server      skipwhite nextgroup=hapServerN
+syn keyword hapParam     source      skipwhite nextgroup=hapServerEOL
+syn keyword hapParam     log         skipwhite nextgroup=hapGLog,hapLogIp
+
+" Options and additional parameters
+syn keyword hapAppSess   contained len timeout
+syn keyword hapBalance   contained roundrobin source
+syn keyword hapLen       contained len
+syn keyword hapGLog      contained global
+syn keyword hapMode      contained http tcp health
+syn keyword hapOption    contained abortonclose allbackups checkcache clitcpka dontlognull forceclose forwardfor
+syn keyword hapOption    contained httpchk httpclose httplog keepalive logasap persist srvtcpka ssl-hello-chk
+syn keyword hapOption    contained tcplog tcpka tcpsplice
+syn keyword hapStats     contained uri realm auth scope enable
+syn keyword hapLogFac    contained kern user mail daemon auth syslog lpr news nextgroup=hapLogLvl skipwhite
+syn keyword hapLogFac    contained uucp cron auth2 ftp ntp audit alert cron2  nextgroup=hapLogLvl skipwhite
+syn keyword hapLogFac    contained local0 local1 local2 local3 local4 local5 local6 local7 nextgroup=hapLogLvl skipwhite
+syn keyword hapLogLvl    contained emerg alert crit err warning notice info debug
+syn keyword hapCookieKey contained rewrite insert nocache postonly indirect prefix nextgroup=hapCookieKey skipwhite
+syn keyword hapCapture   contained cookie nextgroup=hapNameLen skipwhite
+syn keyword hapCapture   contained request response nextgroup=hapHeader skipwhite
+syn keyword hapHeader    contained header nextgroup=hapNameLen skipwhite
+syn keyword hapSrvKey    contained backup cookie check inter rise fall port source minconn maxconn weight usesrc
+syn match   hapStatus    contained /\d\{3}/
+syn match   hapMonitorN  contained /\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\(\/\d\{1,2}\)\?/
+syn match   hapLogIp     contained /\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/   nextgroup=hapLogFac skipwhite
+syn match   hapIpPort    contained /\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}:\d\{1,5}/
+syn match   hapServerAd  contained /\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\(:[+-]\?\d\{1,5}\)\?/ nextgroup=hapSrvEOL skipwhite
+syn match   hapNameLen   contained /\S\+/ nextgroup=hapLen       skipwhite
+syn match   hapCookieNam contained /\S\+/ nextgroup=hapCookieKey skipwhite
+syn match   hapServerN   contained /\S\+/ nextgroup=hapServerAd  skipwhite
+syn region  hapSrvEOL    contained start=/\S/ end=/$/ contains=hapSrvKey
+syn region  hapRegexp    contained start=/\S/ end=/\(\s\|$\)/ skip=/\\ / nextgroup=hapRegRepl skipwhite
+syn region  hapRegRepl   contained start=/\S/ end=/$/ contains=hapComment,hapEscape,hapBackRef
+syn region  hapRegexp2   contained start=/\S/ end=/\(\s\|$\)/ skip=/\\ / nextgroup=hapSectLabel skipwhite
+syn match   hapBackref   contained /\\\d/
+
+
+" Transparent is a Vim keyword, so we need a regexp to match it
+syn match   hapParam     +transparent+
+syn match   hapOption    +transparent+ contained
+
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version < 508
+	command -nargs=+ HiLink hi link <args>
+else
+	command -nargs=+ HiLink hi def link <args>
+endif
+
+HiLink      hapEscape    SpecialChar
+HiLink      hapBackRef   Special
+HiLink      hapComment   Comment
+HiLink      hapTodo      Todo
+HiLink      hapSection   Constant
+HiLink      hapSectLabel Identifier
+HiLink      hapParam     Keyword
+
+HiLink      hapRegexp    String
+HiLink      hapRegexp2   hapRegexp
+HiLink      hapIp1       Number
+HiLink      hapIp2       hapIp1
+HiLink      hapLogIp     hapIp1
+HiLink      hapIpPort    hapIp1
+HiLink      hapMonitorN  hapIp1
+HiLink      hapServerAd  hapIp1
+HiLink      hapStatus    Number
+
+HiLink      hapOption    Operator
+HiLink      hapAppSess   hapOption
+HiLink      hapBalance   hapOption
+HiLink      hapCapture   hapOption
+HiLink      hapCookieKey hapOption
+HiLink      hapHeader    hapOption
+HiLink      hapGLog      hapOption
+HiLink      hapLogFac    hapOption
+HiLink      hapLogLvl    hapOption
+HiLink      hapMode      hapOption
+HiLink      hapStats     hapOption
+HiLink      hapLen       hapOption
+HiLink      hapSrvKey    hapOption
+
+
+delcommand HiLink
+
+let b:current_syntax = "haproxy"
+" vim: ts=8