K i1dZddlmZmZmZmZmZmZmZddl m Z m Z m Z m Z mZmZmZmZmZmZddgZGddeZGddeZy) z pygments.lexers.varnish ~~~~~~~~~~~~~~~~~~~~~~~ Lexers for Varnish configuration :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. ) RegexLexerincludebygroupsusingthisinheritwords) TextCommentOperatorKeywordNameStringNumber PunctuationLiteral WhitespaceVCLLexerVCLSnippetLexercReZdZdZdZdgZdgZdgZdZdZ dZ e d e d d e e jeeeefd ed fge d e d defdefdefd ed fge d de e jee j(j*efde e jeedfde e jeeeefdedfd ed fgdej.fdej.fde j0fde j2fde j(fedde j(fdefd efd!efed"defd#e j(fed$e j8fd%efd&e ee j(j*ed'fd(e ee j(j*edfd)e ee j(j*ed*fd+e ej:e j2efd,e ee j0efd-e e j0ee j0eefd.e fgd/ej>fd0ej>dfd1ej>d fd2ej>fgd3efd0ej>d4fd5efgd6e d fd7e fgd8e fd9e d fd:e fgd;e dfd?e!fd@e!fdAe"fge d e d e dBd@e!fgdC Z#yD)Erz3 For Varnish Configuration Language (VCL). VCLvclz*.vclz text/x-vclsrcXhttps://www.varnish-software.com/developers/tutorials/varnish-configuration-language-vcl2.2c8|jdryd|ddvryy)Nzvcl 4.0;g?z vcl 4.0;ig?) startswithtexts ]/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pygments/lexers/varnish.py analyse_textzVCLLexer.analyse_texts+ ??: &T%4[ () whitespacecommentsz(\.\w+)(\s*=\s*)([^;]*)(;)z\}z#popz[!/]+;z\d+z(\.probe)(\s*=\s*)(\w+)(;)z(\.probe)(\s*=\s*)(\{)probez!(\.\w+\b)(\s*=\s*)([^;\s]*)(\s*;)z\{z#pushz(\d\.)?\d+[sdwhmy]z (\d\.)?\d+msz(vcl_pass|vcl_hash|vcl_hit|vcl_init|vcl_backend_fetch|vcl_pipe|vcl_backend_response|vcl_synth|vcl_deliver|vcl_backend_error|vcl_fini|vcl_recv|vcl_purge|vcl_miss)\bzV(pipe|retry|hash|synth|deliver|purge|abandon|lookup|pass|fail|ok|miss|fetch|restart)\bz8(beresp|obj|resp|req|req_top|bereq)\.http\.[a-zA-Z_-]+\b)?z obj.statuszreq.hash_always_misszberesp.backendz req.esi_levelz req.can_gzipz beresp.ttlzobj.uncacheablezreq.ttlzobj.hitszclient.identityzreq.hash_ignore_busyz obj.reasonzreq.xidz req_top.protoz beresp.agez obj.protozobj.agezlocal.ipzberesp.uncacheablez req.methodzberesp.backend.ipnowz obj.gracez req.restartsz beresp.keepz req.protoz resp.protoz bereq.xidzbereq.between_bytes_timeoutzreq.esizbereq.first_byte_timeoutz bereq.methodzbereq.connect_timeoutzberesp.do_gzipz resp.statuszberesp.do_gunzipzberesp.storage_hintzresp.is_streamingzberesp.do_streamzreq_top.methodz bereq.backendzberesp.backend.namez beresp.statuszreq.urlzobj.keepzobj.ttlz beresp.reasonz bereq.retriesz resp.reasonz bereq.urlz beresp.do_esiz beresp.protoz client.ipz bereq.protozserver.hostnamez remote.ipzreq.backend_hintzserver.identityz req_top.urlz beresp.gracezberesp.was_304z server.ipzbereq.uncacheablez\b)suffixz[!%&+*\-,/<.}{>=|~]+z[();]z[,]+) hash_dataregsub regsuballifelseelsifelifsynth syntheticbanreturnsetunsetimportrnewrollbackcallzstorage\.\w+\.\w+\b)truefalsez\d+\bz(backend)(\s+\w+)(\s*\{)backendz(probe\s)(\s*\w+\s)(\{)z(acl\s)(\s*\w+\s)(\{)aclz(vcl )(4.0)(;)$z(sub\s+)([a-zA-Z]\w*)(\s*\{)z+([a-zA-Z_]\w*)(\.)([a-zA-Z_]\w*)(\s*\(.*\))z [a-zA-Z_]\w*z[^*/]+z/\*z\*/z[*/]z#.*$commentz//.*$"z[^"\n]+z[^"}]z"\}z["}]zL?"stringz\{" multistringz\nz\s+z\\\n statements) r%r<r;rAr=r#r?r@r"rootN)$__name__ __module__ __qualname____doc__namealiases filenames mimetypesurl version_addedr rrr Attributer rrrrVariableGlobalrDateFunctionConstantr r BuiltinReservedr Multilinerrr tokensr!rrrs DgG I !I dCM  L ! J  * dnnhd [ I K K (   L ! J  x ;  V  K (   L ! * dnnh 0D0Dk R T & dnnh rbsP--- ( )JzJZhr!