mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-27 15:12:11 +00:00
[CONTRIB] added a VIM script for syntax coloring
This commit is contained in:
parent
985fc56734
commit
5e47a72f34
163
examples/haproxy.vim
Normal file
163
examples/haproxy.vim
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user