文件操作 - varnish.cpython-311.pyc
返回文件管理
返回主菜单
删除本文件
文件: /usr/lib/python3/dist-packages/pygments/lexers/__pycache__/varnish.cpython-311.pyc
编辑文件内容
� �E�ci � � � d Z ddlmZmZmZmZmZmZmZ ddl m Z mZmZm Z mZmZmZmZmZmZ ddgZ G d� de� � Z G d� de� � ZdS ) z� pygments.lexers.varnish ~~~~~~~~~~~~~~~~~~~~~~~ Lexers for Varnish configuration :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. � )� RegexLexer�include�bygroups�using�this�inherit�words) �Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�Literal� Whitespace�VCLLexer�VCLSnippetLexerc � � e Zd ZdZdZdgZdgZdgZd� Z e d� � e d� � d e ej e ee� � e� � fd edfg e d� � e d� � de fd efdefd edfg e d� � d e ej e ej j e� � fd e ej e e� � dfd e ej e ee� � e� � fdedfd edfgdej fdej fdej fdej fdej f edd�� � ej fde fdefdef ed d�� � efd!ej f ed"� � ej fd#efd$ e eej j e� � d%fd& e eej j e� � dfd' e eej j e� � d(fd) e ej ej e� � fd* e eej e� � fd+ e ej eej ee� � � � fd,efgd-ej fd.ej dfd/ej dfd0ej fgd1efd.ej d2fd3efgd4edfd5efgd6efd7edfd8efgd9ed:fd;ed<fd=efd>efd?e fg e d� � e d� � e d@� � d>efgdA� Z!dBS )Cr zN For Varnish Configuration Language (VCL). .. versionadded:: 2.2 �VCL�vclz*.vclz text/x-vclsrcc �P � | � d� � rdS d| d d� v rdS d S )Nzvcl 4.0;g �?z vcl 4.0;i� g�������?)� startswith��texts �9/usr/lib/python3/dist-packages/pygments/lexers/varnish.py�analyse_textzVCLLexer.analyse_text s? � � �?�?�:�&�&� ��3� �T�%�4�%�[� (� (��3� )� (� � whitespace�commentsz(\.\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_levelzreq.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.ip�nowz obj.gracezreq.restartszberesp.keepz req.protoz resp.protoz bereq.xidzbereq.between_bytes_timeoutzreq.esizbereq.first_byte_timeoutzbereq.methodzbereq.connect_timeoutzberesp.do_gzipzresp.statuszberesp.do_gunzipzberesp.storage_hintzresp.is_streamingzberesp.do_streamzreq_top.methodz bereq.backendzberesp.backend.namez beresp.statuszreq.urlzobj.keepzobj.ttlz beresp.reasonz bereq.retrieszresp.reasonz bereq.urlz beresp.do_esizberesp.protoz client.ipzbereq.protozserver.hostnamez remote.ipzreq.backend_hintzserver.identityzreq_top.urlzberesp.gracezberesp.was_304z server.ipzbereq.uncacheablez\b)�suffixz[!%&+*\-,/<.}{>=|~]+z[();]z[,]+)� hash_data�regsub� regsuball�if�else�elsif�elif�synth� synthetic�ban�return�set�unset�importr �new�rollback�callzstorage\.\w+\.\w+\b)�true�falsez\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: r9 r? r; r! r= r>