diff options
Diffstat (limited to 'admin/syntax-highlight/haproxy.vim')
-rw-r--r-- | admin/syntax-highlight/haproxy.vim | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/admin/syntax-highlight/haproxy.vim b/admin/syntax-highlight/haproxy.vim new file mode 100644 index 0000000..f559df0 --- /dev/null +++ b/admin/syntax-highlight/haproxy.vim @@ -0,0 +1,164 @@ +" 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 +syn keyword hapParam daemon debug disabled +syn keyword hapParam enabled +syn keyword hapParam fullconn +syn keyword hapParam gid group +syn keyword hapParam maxconn monitor-uri +syn keyword hapParam 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 +syn keyword hapParam uid ulimit-n user +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=hapIPv4Mask +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 forwardfor +syn keyword hapOption contained httpchk httpclose httplog keepalive logasap persist srvtcpka ssl-hello-chk +syn keyword hapOption contained tcplog tcpka tcpsplice +syn keyword hapOption contained except skipwhite nextgroup=hapIPv4Mask +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 hapIPv4Mask 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 hapIPv4Mask 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 |