Warning, /frameworks/syntax-highlighting/data/syntax/varnish.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?> 0002 <!DOCTYPE language> 0003 <language name="Varnish Configuration Language" version="12" kateversion="5.79" section="Configuration" extensions="*.vcl" author="Xavier Guerrin (xavier@tuxfamily.org)" license="WTFPL" priority="9"> 0004 <highlighting> 0005 <list name="vclStandardSubs"> 0006 <item>vcl_recv</item> 0007 <item>vcl_pipe</item> 0008 <item>vcl_pass</item> 0009 <item>vcl_hash</item> 0010 <item>vcl_purge</item> 0011 <item>vcl_miss</item> 0012 <item>vcl_hit</item> 0013 <item>vcl_deliver</item> 0014 <item>vcl_synth</item> 0015 <item>vcl_backend_fetch</item> 0016 <item>vcl_backend_response</item> 0017 <item>vcl_backend_error</item> 0018 <item>vcl_init</item> 0019 <item>vcl_fini</item> 0020 </list> 0021 <list name="vclConditionalKeywords"> 0022 <item>if</item> 0023 <item>else</item> 0024 <item>elif</item> 0025 <item>elsif</item> 0026 <item>elseif</item> 0027 </list> 0028 <list name="vclKeywords"> 0029 <item>call</item> 0030 <item>set</item> 0031 <item>unset</item> 0032 <item>new</item> 0033 <item>rollback</item> 0034 <item>synthetic</item> 0035 <item>esi</item> 0036 <item>include</item> 0037 <item>panic</item> 0038 </list> 0039 <list name="vclStandardFunctions"> 0040 <item>hash_data</item> 0041 <item>regsub</item> 0042 <item>regsuball</item> 0043 <item>ban</item> 0044 </list> 0045 <list name="vclModes"> 0046 <item>abandon</item> 0047 <item>deliver</item> 0048 <item>error</item> 0049 <item>fetch</item> 0050 <item>hash</item> 0051 <item>hit_for_pass</item> 0052 <item>lookup</item> 0053 <item>ok</item> 0054 <item>pass</item> 0055 <item>pipe</item> 0056 <item>purge</item> 0057 <item>restart</item> 0058 <item>retry</item> 0059 <item>synth</item> 0060 </list> 0061 <list name="vclDirectorTypes"> 0062 <item>random</item> 0063 <item>client</item> 0064 <item>hash</item> 0065 <item>round-robin</item> 0066 <item>dns</item> 0067 <item>fallback</item> 0068 </list> 0069 <!-- 0070 2013-06-16 0071 This list was generated from https://www.varnish-cache.org/vmods, taking 0072 only vmods having the "Used in production" status, excluding the 0073 non-free ones. 0074 --> 0075 <list name="knownVMods"> 0076 <item>std</item> 0077 <item>example</item> 0078 <item>abtest</item> 0079 <item>threescale</item> 0080 <item>authentication</item> 0081 <item>boltsort</item> 0082 <item>crashhandler</item> 0083 <item>curl</item> 0084 <item>digest</item> 0085 <item>dns</item> 0086 <item>header</item> 0087 <item>memcached</item> 0088 <item>null</item> 0089 <item>querystring</item> 0090 <item>shield</item> 0091 <item>softpurge</item> 0092 <item>statsd</item> 0093 <item>throttle</item> 0094 <item>timeutils</item> 0095 <item>urlcode</item> 0096 <item>var</item> 0097 <item>timers</item> 0098 <item>directors</item> 0099 </list> 0100 <contexts> 0101 <context name="normal_text" attribute="Normal Text" lineEndContext="#stay"> 0102 <IncludeRules context="comments" /> 0103 <StringDetect attribute="Keyword" context="sub_declaration" String="sub" /> 0104 <StringDetect attribute="Keyword" context="probe_declaration" String="probe" /> 0105 <StringDetect attribute="Keyword" context="backend_declaration" String="backend" /> 0106 <StringDetect attribute="Keyword" context="director_declaration" String="director" /> 0107 <StringDetect attribute="Keyword" context="acl_declaration" String="acl" /> 0108 <StringDetect attribute="Keyword" context="import_declaration" String="import" /> 0109 <StringDetect attribute="Keyword" context="include_declaration" String="include" /> 0110 <StringDetect attribute="Keyword" context="version_declaration" String="vcl" /> 0111 <IncludeRules context="embedded-c" /> 0112 </context> 0113 <context name="embedded-c" attribute="Normal Text" lineEndContext="#stay"> 0114 <Detect2Chars char="C" char1="{" context="embedded-c_enclosure" attribute="Region Marker" beginRegion="embedded_c_block" /> 0115 </context> 0116 <context name="embedded-c_enclosure" attribute="Normal Text" lineEndContext="#stay"> 0117 <Detect2Chars char="}" char1="C" context="#pop" attribute="Region Marker" endRegion="embedded_c_block" /> 0118 <IncludeRules context="##C" /> 0119 </context> 0120 <context name="shell-like-comment" attribute="Comment" lineEndContext="#pop"> 0121 <DetectSpaces /> 0122 <IncludeRules context="##Comments" /> 0123 </context> 0124 <context name="c-like-comment" attribute="Comment" lineEndContext="#stay"> 0125 <DetectSpaces /> 0126 <Detect2Chars char="*" char1="/" context="#pop" attribute="Comment" endRegion="BlockComment" /> 0127 <IncludeRules context="##Comments" /> 0128 </context> 0129 <context name="cplusplus-like-comment" attribute="Comment" lineEndContext="#pop"> 0130 <DetectSpaces /> 0131 <IncludeRules context="##Comments" /> 0132 </context> 0133 <context name="comments" attribute="Comment" lineEndContext="#pop"> 0134 <DetectChar char="#" context="shell-like-comment" attribute="Comment" /> 0135 <Detect2Chars char="/" char1="*" context="c-like-comment" attribute="Comment" beginRegion="BlockComment" /> 0136 <Detect2Chars char="/" char1="/" context="cplusplus-like-comment" attribute="Comment" /> 0137 </context> 0138 <context name="vcl_variables" attribute="Normal Text" lineEndContext="#stay"> 0139 <StringDetect attribute="Variable" context="#stay" String="now" /> 0140 <RegExpr attribute="Storage" context="#stay" String="storage\.[a-zA-Z0-9]+(?:\.(?:free_space|used_space|happy))?" /> 0141 <RegExpr attribute="TCP Property" context="#stay" String="client\.(ip|identity)|server\.(ip|hostname|identity|port)" /> 0142 <RegExpr attribute="HTTP Property" context="#stay" String="req\.(method|url|proto|restarts|esi_level|ttl|xid|esi|can_gzip|backend_hint|hash_ignore_busy|hash_always_miss)|bereq\.(xid|retries|backend|method|url|proto|uncacheable|connect_timeout|first_byte_timeout|between_bytes_timeout)|obj\.(proto|status|reason|hits|ttl|grace|keep|uncacheable)|beresp\.(proto|status|reason|do_esi|do_stream|do_gzip|do_gunzip|uncacheable|ttl|grace|keep|backend\.(name|ip)|storage_hint)|resp\.(proto|status|reason)" /> 0143 <RegExpr attribute="HTTP X- Header" context="#stay" String="(req|bereq|resp|beresp|obj)\.http\.X-[-_A-Za-z0-9]*" /> 0144 <RegExpr attribute="HTTP Header" context="#stay" String="(req|bereq|resp|beresp|obj)\.http\.[A-Za-z][-_A-Za-z0-9]*" /> 0145 </context> 0146 <context name="vcl_operators" attribute="Operator" lineEndContext="#stay"> 0147 <Detect2Chars attribute="Logical Operator" context="#stay" char="&" char1="&" /> 0148 <Detect2Chars attribute="Logical Operator" context="#stay" char="|" char1="|" /> 0149 0150 <Detect2Chars attribute="Comparison Operator" context="#stay" char="=" char1="=" /> 0151 <Detect2Chars attribute="Comparison Operator" context="#stay" char="!" char1="=" /> 0152 <Detect2Chars attribute="Comparison Operator" context="#stay" char="<" char1="=" /> 0153 <Detect2Chars attribute="Comparison Operator" context="#stay" char=">" char1="=" /> 0154 <DetectChar attribute="Comparison Operator" context="#stay" char="~" /> 0155 <Detect2Chars attribute="Comparison Operator" context="#stay" char="!" char1="~" /> 0156 0157 <DetectChar attribute="Logical Operator" context="#stay" char="!" /> 0158 0159 <Detect2Chars attribute="Arithmetic Operator" context="#stay" char="+" char1="=" /> 0160 <Detect2Chars attribute="Arithmetic Operator" context="#stay" char="-" char1="=" /> 0161 <Detect2Chars attribute="Arithmetic Operator" context="#stay" char="*" char1="=" /> 0162 <Detect2Chars attribute="Arithmetic Operator" context="#stay" char="/" char1="=" /> 0163 <Detect2Chars attribute="Arithmetic Operator" context="#stay" char="+" char1="+" /> 0164 <Detect2Chars attribute="Arithmetic Operator" context="#stay" char="-" char1="-" /> 0165 <AnyChar attribute="Arithmetic Operator" context="#stay" String="+-*/" /> 0166 <Detect2Chars attribute="Arithmetic Operator" context="#stay" char=">" char1=">" /> 0167 <Detect2Chars attribute="Arithmetic Operator" context="#stay" char="<" char1="<" /> 0168 0169 <AnyChar attribute="Comparison Operator" context="#stay" String="<>" /> 0170 0171 <DetectChar attribute="Operator" context="#stay" char="=" /> 0172 </context> 0173 <context name="minimal_code" attribute="Normal Text" lineEndContext="#stay"> 0174 <IncludeRules context="comments" /> 0175 <RegExpr attribute="Duration" context="#stay" String="([0-9]+|[0-9]+\.[0-9]+|[0-9]+\.|\.[0-9]+)\s*(y|w|d|h|m|s|ms)" /> 0176 <RegExpr attribute="Data Size" context="#stay" String="([0-9]+|[0-9]+\.[0-9]+|[0-9]+\.|\.[0-9]+)\s*[KMGT]?B" /> 0177 <Float attribute="Float" context="#stay" /> 0178 <Int attribute="Decimal" context="#stay" /> 0179 <StringDetect attribute="Keyword" context="#stay" String="true" /> 0180 <StringDetect attribute="Keyword" context="#stay" String="false" /> 0181 <RegExpr attribute="Known VMod Function" context="#stay" String="debug\.(panic|author|obj|test_priv_(?:call|vcl)|str2blob|blob2hex|no_backend|rot52)|\.(enum|foo|date)|directors\.(fallback|hash|random|round_robin)|\.(add_backend|backend)|std\.(cache_req_body|collect|duration|fileread|healthy|integer|ip|log|port|querysort|random|real|real2time|rollback|set_ip_tos|strstr|syslog|time|time2integer|time2real|timestamp|tolower|toupper)" /> 0182 <DetectChar char=""" context="string" attribute="String" /> 0183 <Detect2Chars attribute="String" char="{" char1=""" context="string_enclosure" beginRegion="string_enclosure_block" /> 0184 </context> 0185 <context name="definition_code" attribute="Normal Text" lineEndContext="#stay"> 0186 <IncludeRules context="minimal_code" /> 0187 <DetectChar attribute="Operator" context="#stay" char="=" /> 0188 </context> 0189 <context name="basic_code" attribute="Normal Text" lineEndContext="#stay"> 0190 <IncludeRules context="minimal_code" /> 0191 <IncludeRules context="vcl_variables" /> 0192 <IncludeRules context="vcl_operators" /> 0193 </context> 0194 <context name="regular_code" attribute="Normal Text" lineEndContext="#stay"> 0195 <IncludeRules context="basic_code" /> 0196 <keyword attribute="Keyword" context="#stay" String="vclKeywords" /> 0197 <keyword attribute="Standard VCL Sub" context="#stay" String="vclStandardSubs" /> 0198 <keyword attribute="Standard VCL Function" context="#stay" String="vclStandardFunctions" /> 0199 <keyword attribute="Condition Keyword" context="condition_part" String="vclConditionalKeywords" /> 0200 <StringDetect attribute="Keyword" context="return_statement" String="return" /> 0201 <IncludeRules context="embedded-c" /> 0202 </context> 0203 <context name="return_statement" attribute="Normal Text" lineEndContext="#stay"> 0204 <IncludeRules context="comments" /> 0205 <StringDetect attribute="Keyword" context="return_synth" String="synth" /> 0206 <keyword attribute="Action Keyword" context="#stay" String="vclModes" /> 0207 <DetectChar attribute="Normal Text" char=";" context="#pop" /> 0208 </context> 0209 <context name="return_synth" attribute="Normal Text" lineEndContext="#stay"> 0210 <IncludeRules context="basic_code" /> 0211 <DetectChar attribute="Normal Text" char=")" context="#pop" /> 0212 </context> 0213 <context name="string_enclosure" attribute="String" lineEndContext="#stay"> 0214 <Detect2Chars attribute="String" char=""" char1="}" context="#pop" endRegion="string_enclosure_block" /> 0215 </context> 0216 <context name="sub_declaration" attribute="Normal Text" lineEndContext="#stay"> 0217 <DetectSpaces /> 0218 <keyword attribute="Standard VCL Sub" context="#stay" String="vclStandardSubs" /> 0219 <DetectChar attribute="Region Marker" context="sub_definition" char="{" beginRegion="sub_block" /> 0220 </context> 0221 <context name="sub_definition" attribute="Normal Text" lineEndContext="#stay"> 0222 <IncludeRules context="regular_code" /> 0223 <DetectChar attribute="Region Marker" context="#pop#pop" char="}" endRegion="sub_block" /> 0224 </context> 0225 <context name="condition_part" attribute="Normal Text" lineEndContext="#stay"> 0226 <keyword attribute="Condition Keyword" context="#stay" String="vclConditionalKeywords" /> 0227 <DetectChar attribute="Region Marker" context="conditional_expression" char="(" beginRegion="conditional_expression_block" /> 0228 <DetectChar attribute="Region Marker" context="conditional_block" char="{" beginRegion="conditional_blockregion" /> 0229 </context> 0230 <context name="conditional_expression" attribute="Normal Text" lineEndContext="#stay"> 0231 <IncludeRules context="basic_code" /> 0232 <DetectChar attribute="Region Marker" context="conditional_expression" char="(" beginRegion="conditional_expression_block" /> 0233 <DetectChar attribute="Region Marker" context="#pop" char=")" endRegion="conditional_expression_block" /> 0234 </context> 0235 <context name="conditional_block" attribute="Normal Text" lineEndContext="#stay"> 0236 <IncludeRules context="regular_code" /> 0237 <DetectChar attribute="Region Marker" context="#pop#pop" char="}" endRegion="conditional_blockregion" /> 0238 </context> 0239 <context name="string" attribute="String" lineEndContext="#pop"> 0240 <DetectChar attribute="String" context="#pop" char=""" /> 0241 </context> 0242 <context name="probe_declaration" attribute="Normal Text" lineEndContext="#stay"> 0243 <DetectSpaces /> 0244 <DetectChar attribute="Operator" context="#stay" char="=" /> 0245 <DetectChar attribute="Region Marker" context="probe_definition" char="{" beginRegion="probe_block" /> 0246 <DetectChar attribute="Normal Text" context="#pop" char=";" /> 0247 </context> 0248 <context name="probe_definition" attribute="Normal Text" lineEndContext="#stay"> 0249 <RegExpr attribute="Probe Property" context="#stay" String="\.(url|request|window|threshold|initial|expected_response|interval|timeout)" /> 0250 <IncludeRules context="definition_code" /> 0251 <DetectChar attribute="Region Marker" context="#pop#pop" char="}" endRegion="probe_block" /> 0252 </context> 0253 <context name="backend_declaration" attribute="Normal Text" lineEndContext="#stay"> 0254 <DetectSpaces /> 0255 <DetectChar attribute="Operator" context="#stay" char="=" /> 0256 <DetectChar attribute="Region Marker" context="backend_definition" char="{" beginRegion="backend_block" /> 0257 <DetectChar attribute="Normal Text" context="#pop" char=";" /> 0258 </context> 0259 <context name="backend_definition" attribute="Normal Text" lineEndContext="#stay"> 0260 <RegExpr attribute="Backend Property" context="#stay" String="\.(host|port|host_header|connect_timeout|first_byte_timeout|between_bytes_timeout|max_connections)" /> 0261 <IncludeRules context="definition_code" /> 0262 <StringDetect attribute="Backend Property" context="probe_declaration" String=".probe" /> 0263 <DetectChar attribute="Region Marker" context="#pop#pop" char="}" endRegion="backend_block" /> 0264 </context> 0265 <context name="director_declaration" attribute="Normal Text" lineEndContext="#stay"> 0266 <DetectSpaces /> 0267 <keyword attribute="Director Type" String="vclDirectorTypes" /> 0268 <StringDetect attribute="Director Type" String="round-robin" /> 0269 <DetectChar attribute="Region Marker" context="director_definition" char="{" beginRegion="director_block" /> 0270 </context> 0271 <context name="director_definition" attribute="Normal Text" lineEndContext="#stay"> 0272 <IncludeRules context="definition_code" /> 0273 <RegExpr attribute="Director Property" context="#stay" String="\.(retries|ttl|suffix)" /> 0274 <StringDetect attribute="Director Property" context="backend_declaration" String=".list" /> 0275 <DetectChar attribute="Region Marker" context="director_backend" char="{" beginRegion="director_backend_block" /> 0276 <DetectChar attribute="Region Marker" context="#pop#pop" char="}" endRegion="backend_block" /> 0277 </context> 0278 <context name="director_backend" attribute="Normal Text" lineEndContext="#stay"> 0279 <IncludeRules context="definition_code" /> 0280 <RegExpr attribute="Director Property" context="#stay" String="\.(weight|suffix)" /> 0281 <StringDetect attribute="Director Property" context="backend_declaration" String=".backend" /> 0282 <DetectChar attribute="Region Marker" context="#pop" char="}" endRegion="director_backend_block" /> 0283 </context> 0284 <context name="acl_declaration" attribute="Normal Text" lineEndContext="#stay"> 0285 <DetectChar attribute="Region Marker" context="acl_definition" char="{" beginRegion="acl_block" /> 0286 </context> 0287 <context name="acl_definition" attribute="Normal Text" lineEndContext="#stay"> 0288 <IncludeRules context="minimal_code" /> 0289 <AnyChar attribute="Logical Operator" context="#stay" String="!/" /> 0290 <DetectChar attribute="Region Marker" context="#pop#pop" char="}" endRegion="acl_block" /> 0291 </context> 0292 <context name="import_declaration" attribute="Normal Text" lineEndContext="#stay"> 0293 <keyword attribute="Well-known VMod" context="import_identified" String="knownVMods" /> 0294 <DetectIdentifier attribute="VMod Identifier" context="import_identified" /> 0295 </context> 0296 <context name="import_identified" attribute="Normal Text" lineEndContext="#stay"> 0297 <DetectChar attribute="Normal Text" context="#pop#pop" char=";" /> 0298 <StringDetect attribute="Keyword" context="import_from" String="from" /> 0299 </context> 0300 <context name="import_from" attribute="Normal Text" lineEndContext="#stay"> 0301 <DetectChar char=""" context="import_from_path" attribute="String" /> 0302 </context> 0303 <context name="import_from_path" attribute="String" lineEndContext="#stay"> 0304 <DetectChar char=""" context="import_from_path_complete" attribute="String" /> 0305 </context> 0306 <context name="import_from_path_complete" attribute="Normal Text" lineEndContext="#stay"> 0307 <DetectChar attribute="Normal Text" context="#pop#pop#pop#pop#pop" char=";" /> 0308 </context> 0309 <context name="include_declaration" attribute="Normal Text" lineEndContext="#stay"> 0310 <DetectChar char=""" context="include_path" attribute="String" /> 0311 </context> 0312 <context name="include_path" attribute="String" lineEndContext="#stay"> 0313 <DetectChar char=""" context="include_path_complete" attribute="String" /> 0314 </context> 0315 <context name="include_path_complete" attribute="Normal Text" lineEndContext="#stay"> 0316 <DetectChar attribute="Normal Text" context="#pop#pop#pop" char=";" /> 0317 </context> 0318 <context name="version_declaration" attribute="Normal Text" lineEndContext="#stay"> 0319 <Float attribute="Float" context="#stay" /> 0320 <DetectChar attribute="Normal Text" context="#pop" char=";" /> 0321 </context> 0322 </contexts> 0323 <itemDatas> 0324 <itemData name="Normal Text" defStyleNum="dsNormal" /> 0325 <itemData name="Comment" defStyleNum="dsComment" /> 0326 <itemData name="Keyword" defStyleNum="dsKeyword" /> 0327 <itemData name="Condition Keyword" defStyleNum="dsKeyword" /> 0328 <itemData name="Action Keyword" defStyleNum="dsKeyword" /> 0329 <itemData name="Variable" defStyleNum="dsVariable" /> 0330 <itemData name="Director Type" defStyleNum="dsDataType" /> 0331 <itemData name="Standard VCL Function" defStyleNum="dsFunction" /> 0332 <itemData name="Standard VCL Sub" defStyleNum="dsFunction" bold="1" /> 0333 <itemData name="Operator" defStyleNum="dsOthers" /> <!-- #008000 --> 0334 <itemData name="Comparison Operator" defStyleNum="dsOthers" /> <!-- #008000 --> 0335 <itemData name="Arithmetic Operator" defStyleNum="dsOthers" /> <!-- #008000 --> 0336 <itemData name="Logical Operator" defStyleNum="dsOthers" /> <!-- #008000 --> 0337 <itemData name="String" defStyleNum="dsString" /> 0338 <itemData name="Region Marker" defStyleNum="dsNormal" /> 0339 <itemData name="Probe Property" defStyleNum="dsAttribute" bold="1" italic="0" /> <!-- #0000FF --> 0340 <itemData name="Backend Property" defStyleNum="dsAttribute" bold="1" italic="0" /> <!-- #0000FF --> 0341 <itemData name="Director Property" defStyleNum="dsAttribute" bold="1" italic="0" /> <!-- #0000FF --> 0342 <itemData name="Storage" defStyleNum="dsAttribute" bold="0" italic="0" /> <!-- #0000FF --> 0343 <itemData name="TCP Property" defStyleNum="dsAttribute" bold="0" italic="1" /> <!-- #0000FF --> 0344 <itemData name="HTTP Property" defStyleNum="dsAttribute" bold="0" italic="0" /> <!-- #0000FF --> 0345 <itemData name="HTTP Header" defStyleNum="dsExtension" bold="0" italic="0" /> <!-- #0D62FF --> 0346 <itemData name="HTTP X- Header" defStyleNum="dsExtension" bold="0" italic="1" /> <!-- #0D62FF --> 0347 <itemData name="Decimal" defStyleNum="dsDecVal" /> 0348 <itemData name="Duration" defStyleNum="dsDecVal" /> 0349 <itemData name="Data Size" defStyleNum="dsDecVal" /> 0350 <itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/> 0351 <itemData name="VMod Identifier" defStyleNum="dsDataType" bold="0" /> <!-- #0000FF --> 0352 <itemData name="Well-known VMod" defStyleNum="dsDataType" bold="1" /> <!-- #0000FF --> 0353 <itemData name="Known VMod Function" defStyleNum="dsDataType" bold="0" /> <!-- #0000FF --> 0354 </itemDatas> 0355 </highlighting> 0356 <general> 0357 <comments> 0358 <comment name="singleLine" start="#" /> 0359 <comment name="multiLine" start="/*" end="*/" region="BlockComment" /> 0360 </comments> 0361 <keywords casesensitive="1" /> 0362 </general> 0363 </language> 0364 <!-- kate: space-indent on; indent-width 2; replace-tabs on; -->