YBFj4dZddlmZmZmZmZmZmZmZddl m Z m Z m Z m Z mZmZmZmZmZmZddgZGddeZGddeZdS) z pygments.lexers.varnish ~~~~~~~~~~~~~~~~~~~~~~~ Lexers for Varnish configuration :copyright: Copyright 2006-present by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. ) RegexLexerincludebygroupsusingthisinheritwords) TextCommentOperatorKeywordNameStringNumber PunctuationLiteral WhitespaceVCLLexerVCLSnippetLexerceZdZdZdZdgZdgZdgZdZdZ dZ e d e d d e e jeeeefd ed fge d e d defdefdefd ed fge d de e jee jjefde e jeedfde e jeeeefdedfd ed fgdejfdejfde jfde jfde jfedde jfdefd efd!efed"defd#e jfed$e jfd%efd&e ee jjed'fd(e ee jjedfd)e ee jjed*fd+e eje jefd,e ee jefd-e e jee jeefd.e fgd/ejfd0ejdfd1ejd fd2ejfgd3efd0ejd4fd5efgd6e d fd7e fgd8e fd9e d fd:e fgd;e dfd?e!fd@e!fdAe"fge d e d e dBd@e!fgdC Z#dDS)Erz3 For Varnish Configuration Language (VCL). VCLvclz*.vclz text/x-vclsrcXhttps://www.varnish-software.com/developers/tutorials/varnish-configuration-language-vcl2.2cP|drdSd|ddvrdSdS)Nzvcl 4.0;g?z vcl 4.0;ig?) startswithtexts EC:\PYTHON\_runtimes\venv\Lib\site-packages\pygments/lexers/varnish.py analyse_textzVCLLexer.analyse_texts? ??: & & 3T%4%[ ( (3) ( 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    GL ! ! GJ   * Xdnhd [ I I K K (   GL ! ! GJ   x ;  V  K (   GL ! ! * Xdnh 0Dk R R T & Xdnh < rbsU------------------------ ( )JJJJJzJJJZhr!