mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-08 11:33:52 -05:00
I originally meant to run this before adding haproxy, but accidentally
pushed that into my branch. If you'd like to see that content, it's at
414ad25c3a.
361 lines
22 KiB
VimL
361 lines
22 KiB
VimL
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'haproxy') == -1
|
|
|
|
" Vim syntax file
|
|
" Language: HAproxy
|
|
" Maintainer: Dan Reif
|
|
" Last Change: Mar 2, 2018
|
|
" Version: 0.5
|
|
" URL: https://github.com/CH-DanReif/haproxy.vim
|
|
|
|
" 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\)+
|
|
|
|
" Match whitespace at the end of a line
|
|
syn match hapNothingErr /\s\+\ze\(#.*\)\?$/ contained nextgroup=hapGreedyComment
|
|
" Match anything other than whitespace; flag as error if found. 'contained'
|
|
" because comments are valid where otherwise only hapNothing is.
|
|
syn match hapNothingErr /\s*\zs[^# \t][^#]*/ contained nextgroup=hapGreedyComment
|
|
|
|
" Comments
|
|
syn match hapComment /\(^\|\s\)#.*$/ contains=hapTodo
|
|
" `acl foo path_reg hi[#]mom` is an error because [ is unclosed. (!!!)
|
|
syn match hapGreedyComment /#.*$/ contained containedin=hapAclRemainder contains=hapTodo
|
|
syn keyword hapTodo TODO FIXME XXX contained
|
|
|
|
" `daemon#hi mom` is perfectly valid. :/
|
|
syn cluster hapNothing contains=hapNothingErr,hapGreedyComment
|
|
|
|
" Case-insensitive matching
|
|
syn case ignore
|
|
|
|
" Sections
|
|
syn match hapSection /^\s*\(global\|defaults\)/
|
|
syn match hapSection /^\s*\(backend\|frontend\|listen\|ruleset\|userlist\)/ 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
|
|
|
|
" Timeouts. We try to hint towards the use of 'ms' and 's' when
|
|
" g:haproxy_guess_ms_sec is set. We consider the lack of either 'ms' or 's'
|
|
" as an error when haproxy_enforce_ms_sec is set. (HAproxy's default is 'ms',
|
|
" but that arguably leads to ambiguity in the config.)
|
|
if get(g:, 'haproxy_guess_ms_sec', 1)
|
|
" Timeouts and such specified in ms, where seconds are *allowed*, but are
|
|
" probably a mistake.
|
|
syn match hapNumberMS /\d\+m\?s/ contained transparent
|
|
syn match hapError /\d\+\zss\ze/ contained containedin=hapNumberMS
|
|
endif
|
|
if get(g:, 'haproxy_enforce_ms_sec', 1)
|
|
syn match hapNumberMS /\d\+\(m\?s\)\?/ contained transparent
|
|
syn match hapError /\d\+\(m\?s\)\@!\(\D\|$\)/ contained containedin=hapNumberMS
|
|
syn match hapNumberMS /\d\+m\?s/ contained
|
|
else
|
|
syn match hapNumberMS /\d\+m\?s/ contained
|
|
endif
|
|
if get(g:, 'haproxy_guess_ms_sec', 1)
|
|
" Timeouts generally specified in whole seconds, where we want to highlight
|
|
" errant 'm's.
|
|
syn match hapNumberSec /\d\+m\?s/ contained transparent
|
|
syn match hapError /\d\+\zsm\zes/ contained containedin=hapNumberSec
|
|
endif
|
|
if get(g:, 'haproxy_enforce_ms_sec', 1)
|
|
syn match hapNumberSec /\d\+\(m\?s\)\?/ contained transparent
|
|
syn match hapError /\d\+\(m\?s\)\@!\(\D\|$\)/ contained containedin=hapNumberSec
|
|
syn match hapNumberSec /\d\+m\?s/ contained
|
|
else
|
|
syn match hapNumberSec /\d\+m\?s/ contained
|
|
endif
|
|
" Other numbers, no 'ms'.
|
|
syn match hapNumber /[0-9]\+/ contained
|
|
|
|
" Timeout types
|
|
syn keyword hapTimeoutType connect client server contained skipwhite nextgroup=hapNumberMS
|
|
|
|
" URIs
|
|
syn match hapAbsURI /\/\S*/ contained
|
|
syn match hapURI /\S*/ contained
|
|
|
|
" File paths (always absolute, and never just '/' unless you're insane)
|
|
syn match hapFilePath /\/\S\+/ contained
|
|
|
|
" SSL configuration keywords
|
|
syn match hapSSLCiphersAll /\s\+\zs.*/ contained transparent
|
|
syn match hapSSLCiphersError /.\+/ contained containedin=hapSSLCiphersAll
|
|
syn match hapSSLCiphers /\([-+!]\?[A-Z0-9-]\+[:+]\)*[-+!]\?[A-Z0-9-]\+/ contained containedin=hapSSLCiphersAll
|
|
|
|
"
|
|
" ACLs
|
|
"
|
|
|
|
" This comes first, lest it gobble up everything else.
|
|
syn match hapAclName /\S\+/ contained skipwhite nextgroup=hapAclCriterion
|
|
syn match hapAclCriterion /FALSE\|HTTP\|HTTP_1\.0\|HTTP_1\.1\|HTTP_CONTENT\|HTTP_URL_ABS\|HTTP_URL_SLASH\|HTTP_URL_STAR\|LOCALHOST\|METH_CONNECT\|METH_GET\|METH_HEAD\|METH_OPTIONS\|METH_POST\|METH_TRACE\|RDP_COOKIE\|REQ_CONTENT\|TRUE\|WAIT_END\|\(req_rdp_cookie\|s\?cook\|s\?hdr\|http_auth_group\|urlp\)\(_\(beg\|dir\|dom\|end\|len\|reg\|sub\|cnt\)\)\?([^)]*)\|\(req_ssl_[a-z]\+\|base\|method\|path\|req_ver\|resp_ver\|url\)\(_\(beg\|dir\|dom\|end\|len\|reg\|sub\|cnt\)\)\?/ contained skipwhite nextgroup=hapAclConverterOrNothing
|
|
" This one's a bit tricky. Match zero or more converters, and then *require* the
|
|
" space afterwards. Strictly speaking, deviates from the BNF, but only in
|
|
" pathological cases ('acl lolwat TRUE,upper').
|
|
syn match hapAclConverterOrNothing /\(,\(\(base64\|bool\|cpl\|debug\|even\|hex\|lower\|neg\|not\|odd\|upper\|url_dec\)\|\(add\|and\|bytes\|crc32\|da-csv-conv\|div\|djb2\|field\|http_date\|in_table\|ipmask\|json\|language\|ltime\|map\|mod\|mul\|or\|regsub\|capture-req\|capture-res\|sdbm\|sub\|table_[a-z0-9_]\+\|utime\|word\|wt6\|xor\)([^)]*)\)\)*\s\+/ contained nextgroup=hapAclFlag,hapAclFlagWithParameter,hapAclOperator
|
|
syn match hapAclFlag /-[-in]/ contained skipwhite nextgroup=hapAclFlag,hapAclFlagWithParameter,hapAclOperator
|
|
syn match hapAclFlagWithParameter /-[fmMu]/ contained skipwhite nextgroup=hapAclFlagParameter
|
|
syn match hapAclFlagParameter /\S\+/ contained skipwhite nextgroup=hapAclFlag,hapAclFlagWithParameter,hapAclOperator
|
|
syn match hapAclOperator /eq\|ge\|gt\|le\|lt/ contained skipwhite
|
|
syn match hapAclRemainder /.*/ contained transparent
|
|
|
|
" Generic tune.ssl
|
|
syn match hapParam /tune\.ssl\.[a-z0-9-]\+/
|
|
" tune.ssl where we know what follows
|
|
syn match hapParam /tune\.ssl\.default-dh-param/ skipwhite nextgroup=hapNumber
|
|
|
|
syn keyword hapSSLServerVerify none required contained skipwhite nextgroup=@hapNothing
|
|
|
|
" Keywords deprecated for at least a decade. Kill 'em.
|
|
syn keyword hapError cliexp srvexp
|
|
|
|
" Parameters
|
|
syn keyword hapParam timeout skipwhite nextgroup=hapTimeoutType
|
|
syn keyword hapParam chroot pidfile skipwhite nextgroup=hapFilePath
|
|
syn keyword hapParam clitimeout skipwhite nextgroup=hapNumberMS
|
|
syn keyword hapParam contimeout skipwhite nextgroup=hapNumberMS
|
|
syn keyword hapParam daemon debug disabled skipwhite nextgroup=@hapNothing
|
|
syn keyword hapParam enabled skipwhite nextgroup=@hapNothing
|
|
syn keyword hapParam fullconn maxconn skipwhite nextgroup=hapNumber
|
|
syn keyword hapParam gid skipwhite nextgroup=hapNumber
|
|
syn keyword hapParam group
|
|
syn keyword hapParam grace skipwhite nextgroup=hapNumberMS
|
|
syn keyword hapParam monitor-uri skipwhite nextgroup=hapAbsURI
|
|
syn keyword hapParam nbproc skipwhite nextgroup=hapNumber
|
|
syn keyword hapParam noepoll nopoll skipwhite nextgroup=@hapNothing
|
|
syn keyword hapParam quiet skipwhite nextgroup=@hapNothing
|
|
syn keyword hapParam redispatch retries skipwhite nextgroup=hapNumber
|
|
" 'add' takes exactly one string, not regexes
|
|
syn keyword hapParam reqadd reqiadd skipwhite nextgroup=hapOneStringIfUnless
|
|
syn keyword hapParam rspadd rspiadd skipwhite nextgroup=hapOneStringIfUnless
|
|
" All of these take exactly one regexp
|
|
syn match hapParam /reqi\?\(allow\|del\)/ skipwhite nextgroup=hapOneRegexpIfUnless
|
|
syn match hapParam /reqi\?\(deny\|pass\)/ skipwhite nextgroup=hapOneRegexpIfUnless
|
|
syn match hapParam /reqi\?\(tarpit\)/ skipwhite nextgroup=hapOneRegexpIfUnless
|
|
syn match hapParam /rspi\?\(del\|deny\)/ skipwhite nextgroup=hapOneRegexpIfUnless
|
|
" 'rep' is unique in taking two regexes (one search, one replace)
|
|
syn keyword hapParam reqrep reqirep skipwhite nextgroup=hapRegSearchReplIfUnless
|
|
syn keyword hapParam rsprep rspirep skipwhite nextgroup=hapRegSearchReplIfUnless
|
|
syn keyword hapParam reqsetbe reqisetbe skipwhite nextgroup=hapRegexpBE
|
|
syn keyword hapParam server source
|
|
syn keyword hapParam srvtimeout skipwhite nextgroup=hapNumberMS
|
|
syn keyword hapParam uid ulimit-n skipwhite nextgroup=hapNumber
|
|
syn keyword hapParam user
|
|
syn keyword hapParam acl skipwhite nextgroup=hapAclName
|
|
syn keyword hapParam errorloc skipwhite nextgroup=hapStatusURI
|
|
syn keyword hapParam errorloc302 errorloc303 skipwhite nextgroup=hapStatusURI
|
|
syn keyword hapParam default_backend skipwhite nextgroup=hapSectLabel
|
|
syn keyword hapParam use_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,hapFilePath
|
|
syn keyword hapParam ca-base skipwhite nextgroup=hapFilePath
|
|
syn keyword hapParam crt-base skipwhite nextgroup=hapFilePath
|
|
syn keyword hapParam ssl-default-bind-ciphers skipwhite nextgroup=hapSSLCiphersAll
|
|
syn keyword hapParam ssl-default-bind-options skipwhite nextgroup=hapGLog,hapLogIp
|
|
syn keyword hapParam ssl-server-verify skipwhite nextgroup=hapSSLServerVerify
|
|
syn keyword hapParam errorfile skipwhite nextgroup=hapStatusPath
|
|
syn keyword hapParam http-request skipwhite nextgroup=hapHttpRequestVerb
|
|
" Transparent is a Vim keyword, so we need a regexp to match it
|
|
syn match hapParam /transparent/
|
|
|
|
" Options and additional parameters
|
|
syn keyword hapAppSess len timeout contained
|
|
syn keyword hapBalance roundrobin source contained
|
|
syn keyword hapLen len contained
|
|
syn keyword hapGLog global contained
|
|
syn keyword hapMode http tcp health contained
|
|
syn keyword hapOption abortonclose allbackups checkcache clitcpka dontlognull contained
|
|
syn keyword hapOption forceclose forwardfor http-server-close contained
|
|
syn keyword hapOption httpchk httpclose httplog keepalive logasap contained
|
|
syn keyword hapOption persist srvtcpka ssl-hello-chk contained
|
|
syn keyword hapOption tcplog tcpka tcpsplice contained
|
|
syn keyword hapOption except contained skipwhite nextgroup=hapIPv4Mask
|
|
" Transparent is a Vim keyword, so we need a regexp to match it
|
|
syn match hapOption /transparent/ contained
|
|
syn keyword hapStats realm auth scope enable contained
|
|
syn keyword hapStats uri contained skipwhite nextgroup=hapAbsURI
|
|
syn keyword hapStats socket contained skipwhite nextgroup=hapFilePath
|
|
syn keyword hapStats timeout contained skipwhite nextgroup=hapNumberMS
|
|
syn keyword hapLogFac kern user mail daemon auth syslog lpr news contained skipwhite nextgroup=hapLogLvl
|
|
syn keyword hapLogFac uucp cron auth2 ftp ntp audit alert cron2 contained skipwhite nextgroup=hapLogLvl
|
|
syn keyword hapLogFac local0 local1 local2 local3 local4 local5 local6 local7 contained skipwhite nextgroup=hapLogLvl
|
|
syn keyword hapLogLvl emerg alert crit err warning notice info debug contained
|
|
syn keyword hapCookieKey rewrite insert nocache postonly indirect prefix contained skipwhite nextgroup=hapCookieKey
|
|
syn keyword hapCapture cookie contained skipwhite nextgroup=hapNameLen
|
|
syn keyword hapCapture request response contained skipwhite nextgroup=hapHeader
|
|
syn keyword hapHeader header contained skipwhite nextgroup=hapNameLen
|
|
syn keyword hapSrvKey backup cookie check inter rise fall port contained
|
|
syn keyword hapSrvKey source minconn maxconn weight usesrc contained
|
|
syn match hapStatus /\d\{3}/ contained
|
|
syn match hapStatusPath /\d\{3}/ contained skipwhite nextgroup=hapFilePath
|
|
syn match hapStatusURI /\d\{3}/ contained skipwhite nextgroup=hapURI
|
|
syn match hapIPv4Mask /\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\(\/\d\{1,2}\)\?/ contained
|
|
syn match hapLogIp /\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/ contained skipwhite nextgroup=hapLogFac
|
|
syn match hapIpPort /\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}:\d\{1,5}/ contained
|
|
syn match hapServerAd /\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\(:[+-]\?\d\{1,5}\)\?/ contained skipwhite nextgroup=hapSrvEOL
|
|
syn match hapNameLen /\S\+/ contained skipwhite nextgroup=hapLen
|
|
syn match hapCookieNam /\S\+/ contained skipwhite nextgroup=hapCookieKey
|
|
syn match hapServerN /\S\+/ contained skipwhite nextgroup=hapServerAd
|
|
syn region hapSrvEOL start=/\S/ end=/$/ contains=hapSrvKey contained
|
|
|
|
" Brutally stolen from https://github.com/vim-perl/vim-perl:
|
|
syn match hapPerlSpecialMatch "\\\%(\o\{1,3}\|x\%({\x\+}\|\x\{1,2}\)\|c.\|[^cx]\)" contained extend
|
|
syn match hapPerlSpecialMatch "\\." extend contained contains=NONE
|
|
syn match hapPerlSpecialMatch "\\\\" contained
|
|
syn match hapPerlSpecialMatch "\\[1-9]" contained extend
|
|
syn match hapPerlSpecialMatch "\\g\%(\d\+\|{\%(-\=\d\+\|\h\w*\)}\)" contained
|
|
syn match hapPerlSpecialMatch "\\k\%(<\h\w*>\|'\h\w*'\)" contained
|
|
syn match hapPerlSpecialMatch "{\d\+\%(,\%(\d\+\)\=\)\=}" contained
|
|
syn match hapPerlSpecialMatch "\[[]-]\=[^\[\]]*[]-]\=\]" contained extend
|
|
syn match hapPerlSpecialMatch "[+*()?.]" contained
|
|
syn match hapPerlSpecialMatch "(?[#:=!]" contained
|
|
syn match hapPerlSpecialMatch "(?[impsx]*\%(-[imsx]\+\)\=)" contained
|
|
syn match hapPerlSpecialMatch "(?\%([-+]\=\d\+\|R\))" contained
|
|
syn match hapPerlSpecialMatch "(?\%(&\|P[>=]\)\h\w*)" contained
|
|
|
|
syn region hapOneRegexpIfUnless contained start=/\S/ end=/\(\ze\s\|$\)/ skip=/\\ / contains=hapPerlSpecialMatch nextgroup=hapIfUnless,@hapNothing skipwhite
|
|
syn region hapRegSearchReplIfUnless contained start=/\S/ end=/\(\s\|$\)/ skip=/\\ / contains=hapPerlSpecialMatch nextgroup=hapRegReplIfUnless skipwhite
|
|
syn region hapRegReplIfUnless contained start=/\S/ end=/$/ contains=hapComment,hapEscape,hapPerlSpecialMatch nextgroup=hapIfUnless skipwhite
|
|
syn region hapRegexpBE contained start=/\S/ end=/\(\s\|$\)/ skip=/\\ / contains=hapPerlSpecialMatch nextgroup=hapSectLabel skipwhite
|
|
|
|
"
|
|
" http-request
|
|
"
|
|
" http-request verbs that don't allow parameters
|
|
syn keyword hapHttpRequestVerb allow tarpit silent-drop contained skipwhite nextgroup=hapHttpIfUnless
|
|
" http-request verbs with optional parameters
|
|
syn keyword hapHttpRequestVerb auth deny contained skipwhite nextgroup=hapHttpIfUnless,hapHttpRequestParam
|
|
" http-request verbs with required parameters
|
|
syn keyword hapHttpRequestVerb redirect add-header set-header capture contained skipwhite nextgroup=hapHttpRequestParam
|
|
syn keyword hapHttpRequestVerb del-header set-nice set-log-level replace-header contained skipwhite nextgroup=hapHttpRequestParam
|
|
syn keyword hapHttpRequestVerb replace-value set-method set-path set-query contained skipwhite nextgroup=hapHttpRequestParam
|
|
syn keyword hapHttpRequestVerb set-uri set-tos set-mark contained skipwhite nextgroup=hapHttpRequestParam
|
|
" http-request verbs with both parenthetical arguments and required parameters
|
|
syn match hapHttpRequestVerb /\(add-acl\|del-acl\|del-map\|set-map\)([^)]*)/ contained skipwhite nextgroup=hapHttpRequestParam
|
|
syn match hapHttpRequestVerb /\(set-var\|unset-var\)([^)]*)/ contained skipwhite nextgroup=hapHttpRequestParam
|
|
syn match hapHttpRequestVerb /\(sc-inc-gpc0\|sc-set-gpt0\)([^)]*)/ contained skipwhite nextgroup=hapHttpRequestParam
|
|
" http-request verbs with parenthetical arguments, but without parameters
|
|
syn match hapHttpRequestVerb /\(unset-var\|sc-inc-gpc0\)([^)]*)/ contained skipwhite nextgroup=hapHttpIfUnless
|
|
|
|
" Listed first because we want to match this rather than hapHttpRequestParam,
|
|
" which can be just about anything (including these two keywords). 'keyword'
|
|
" is actually higher priority inside the highlighter, but we'll play it extra
|
|
" safe by doing this ordering trick, too.
|
|
syn keyword hapIfUnless if unless contained skipwhite nextgroup=hapIfUnlessCond
|
|
|
|
" A little bit of fancy footwork here, because we want to match the log-format
|
|
" parameters inside of the string separately.
|
|
syn match hapHttpRequestParam /|S\+/ contained skipwhite nextgroup=hapIfUnless,hapHttpRequestParam transparent
|
|
syn match hapHttpLogFormatStr /%\[[^][]\+\]/ contained containedin=hapHttpRequestParam
|
|
syn match hapHttpLogFormatErr /%\(\[[^][]\+\]\)\@!.*/ contained containedin=hapHttpRequestParam
|
|
syn match hapHttpRequestParamLiteral /[^%]\+/ contained containedin=hapHttpRequestParam
|
|
|
|
|
|
" 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 hapError Error
|
|
HiLink hapNothingErr hapError
|
|
HiLink hapEscape SpecialChar
|
|
HiLink hapComment Comment
|
|
HiLink hapGreedyComment Comment
|
|
HiLink hapTodo Todo
|
|
HiLink hapSection Underlined
|
|
HiLink hapSectLabel Identifier
|
|
HiLink hapParam Keyword
|
|
HiLink hapSSLCiphers String
|
|
HiLink hapSSLCiphersError Error
|
|
HiLink hapTimeoutType hapParam
|
|
|
|
HiLink hapOneRegexpIfUnless String
|
|
HiLink hapTwoRegexpsIfUnless hapRegexp
|
|
HiLink hapRegReplIfUnless hapRegexp
|
|
HiLink hapRegexpBE hapRegexp
|
|
HiLink hapPerlSpecialMatch Special
|
|
HiLink hapFilePath String
|
|
HiLink hapURI String
|
|
HiLink hapAbsURI hapURI
|
|
HiLink hapIp1 Number
|
|
HiLink hapIp2 hapIp1
|
|
HiLink hapLogIp hapIp1
|
|
HiLink hapIpPort hapIp1
|
|
HiLink hapIPv4Mask hapIp1
|
|
HiLink hapServerAd hapIp1
|
|
HiLink hapStatus Number
|
|
HiLink hapStatusPath hapStatus
|
|
HiLink hapStatusURI hapStatus
|
|
HiLink hapNumber Number
|
|
HiLink hapNumberMS hapNumber
|
|
HiLink hapNumberSec hapNumber
|
|
|
|
HiLink hapAclName Identifier
|
|
HiLink hapAclCriterion String
|
|
HiLink hapAclConverterOrNothing Special
|
|
HiLink hapAclFlag Special
|
|
HiLink hapAclFlagWithParameter Special
|
|
HiLink hapAclFlagParameter String
|
|
HiLink hapAclOperator Operator
|
|
HiLink hapAclPattern String
|
|
|
|
HiLink hapHttpRequestVerb Operator
|
|
HiLink hapIfUnless Operator
|
|
HiLink hapHttpRequestParamLiteral String
|
|
HiLink hapHttpLogFormatStr Special
|
|
HiLink hapHttpLogFormatErr Error
|
|
|
|
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
|
|
|
|
endif
|