ó
xiù\c           @   s¶   d  Z  d d l m Z m Z m Z m Z m Z m Z m Z d d l	 m
 Z
 m Z m Z m Z m Z m Z m Z m Z m Z d d g Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d S(	   sÓ   
    pygments.lexers.varnish
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Varnish configuration

    :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iÿÿÿÿ(   t
   RegexLexert   includet   bygroupst   usingt   thist   inheritt   words(	   t   Textt   Commentt   Operatort   Keywordt   Namet   Stringt   Numbert   Punctuationt   Literalt   VCLLexert   VCLSnippetLexerc        F   B   sÀ  e  Z d  Z d Z d g Z d g Z d g Z d „  Z i
 e d ƒ e d ƒ d e	 e
 j e e e ƒ e ƒ f d	 e d
 f g d 6e d ƒ e d ƒ d e f d e f d e f d	 e d
 f g d 6e d ƒ d e	 e
 j e e
 j j e ƒ f d e	 e
 j e e ƒ d f d e	 e
 j e e e ƒ e ƒ f d e d f d	 e d
 f g d 6d e j f d e j f d e
 j f d e
 j f d e
 j f e d‘ dZ d[ ƒe
 j f d\ e f d] e f d^ e f e d’ dZ d[ ƒe f dq e
 j f e d“ ƒ e
 j f dt e f du e	 e e
 j j e ƒ d f dv e	 e e
 j j e ƒ d f dw e	 e e
 j j e ƒ d f dx e	 e j e
 j e ƒ f dy e	 e e
 j e ƒ f dz e	 e
 j e e
 j e e ƒ ƒ f d{ e
 f g d| 6d} e j f d~ e j d f d e j d
 f d€ e j f g d 6d‚ e f d~ e j d f dƒ e f g d 6d„ e d
 f d… e f g d† 6d‡ e f dˆ e d
 f d‰ e f g dŠ 6d‹ e d† f dŒ e dŠ f d e f dŽ e f d e f g d 6e d ƒ e d ƒ e d| ƒ dŽ e f g d 6Z RS(”   sN   
    For Varnish Configuration Language (VCL).

    .. versionadded:: 2.2
    t   VCLt   vcls   *.vcls   text/x-vclsrcc         C   s+   |  j  d ƒ r d Sd |  d  k r' d Sd  S(   Ns   vcl 4.0;g      ð?s	   
vcl 4.0;iè  gÍÌÌÌÌÌì?(   t
   startswith(   t   text(    (    s6   lib/python2.7/site-packages/pygments/lexers/varnish.pyt   analyse_text   s    t
   whitespacet   commentss   (\.\w+)(\s*=\s*)([^;]*)(;)s   \}s   #popt   probes   [!/]+t   ;s   \d+t   acls   (\.probe)(\s*=\s*)(\w+)(;)s   (\.probe)(\s*=\s*)(\{)s   (\.\w+\b)(\s*=\s*)([^;]*)(\s*;)s   \{s   #pusht   backends   (\d\.)?\d+[sdwhmy]s   (\d\.)?\d+mss£   (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)\bsV   (pipe|retry|hash|synth|deliver|purge|abandon|lookup|pass|fail|ok|miss|fetch|restart)\bs8   (beresp|obj|resp|req|req_top|bereq)\.http\.[a-zA-Z_-]+\bs
   obj.statuss   req.hash_always_misss   beresp.backends   req.esi_levels   req.can_gzips
   beresp.ttls   obj.uncacheables   req.ttls   obj.hitss   client.identitys   req.hash_ignore_busys
   obj.reasons   req.xids   req_top.protos
   beresp.ages	   obj.protos   obj.ages   local.ips   beresp.uncacheables
   req.methods   beresp.backend.ipt   nows	   obj.graces   req.restartss   beresp.keeps	   req.protos
   resp.protos	   bereq.xids   bereq.between_bytes_timeouts   req.esis   bereq.first_byte_timeouts   bereq.methods   bereq.connect_timeouts   beresp.do_gzips   resp.statuss   beresp.do_gunzips   beresp.storage_hints   resp.is_streamings   beresp.do_streams   req_top.methods   bereq.backends   beresp.backend.names   beresp.statuss   req.urls   obj.keeps   obj.ttls   beresp.reasons   bereq.retriess   resp.reasons	   bereq.urls   beresp.do_esis   beresp.protos	   client.ips   bereq.protos   server.hostnames	   remote.ips   req.backend_hints   server.identitys   req_top.urls   beresp.graces   beresp.was_304s	   server.ips   bereq.uncacheablet   suffixs   \bs   [!%&+*\-,/<.}{>=|~]+s   [();]s   [,]+t	   hash_datat   regsubt	   regsuballt   ift   elset   elsift   elift   syntht	   synthetict   bant   returnt   sett   unsett   importR   t   newt   rollbackt   calls   storage\.\w+\.\w+\bt   truet   falses   \d+\bs   (backend)(\s+\w+)(\s*\{)s   (probe\s)(\s*\w+\s)(\{)s   (acl\s)(\s*\w+\s)(\{)s   (vcl )(4.0)(;)$s   (sub\s+)([a-zA-Z]\w*)(\s*\{)s+   ([a-zA-Z_]\w*)(\.)([a-zA-Z_]\w*)(\s*\(.*\))s   [a-zA-Z_]\w*t
   statementss   [^*/]+s   /\*s   \*/s   [*/]t   comments   #.*$s   //.*$t   "s   [^"\n]+t   strings   [^"}]s   "\}s   ["}]t   multistrings   L?"s   \{"s   \ns   \s+s   \\\nt   root(?   s
   obj.statuss   req.hash_always_misss   beresp.backends   req.esi_levels   req.can_gzips
   beresp.ttls   obj.uncacheables   req.ttls   obj.hitss   client.identitys   req.hash_ignore_busys
   obj.reasons   req.xids   req_top.protos
   beresp.ages	   obj.protos   obj.ages   local.ips   beresp.uncacheables
   req.methods   beresp.backend.ipR   s	   obj.graces   req.restartss   beresp.keeps	   req.protos
   resp.protos	   bereq.xids   bereq.between_bytes_timeouts   req.esis   bereq.first_byte_timeouts   bereq.methods   bereq.connect_timeouts   beresp.do_gzips   resp.statuss   beresp.do_gunzips   beresp.storage_hints   resp.is_streamings   beresp.do_streams   req_top.methods   bereq.backends   beresp.backend.names   beresp.statuss   req.urls   obj.keeps   obj.ttls   beresp.reasons   bereq.retriess   resp.reasons	   bereq.urls   beresp.do_esis   beresp.protos	   client.ips   bereq.protos   server.hostnames	   remote.ips   req.backend_hints   server.identitys   req_top.urls   beresp.graces   beresp.was_304s	   server.ips   bereq.uncacheable(   R   R    R!   R"   R#   R$   R%   R&   R'   R(   R)   R*   R+   R,   R   R-   R.   R/   (   R0   R1   (    t   __name__t
   __module__t   __doc__t   namet   aliasest	   filenamest	   mimetypesR   R   R   R   t	   AttributeR	   R   R   R   R   t   Variablet   GlobalR   t   Datet   Functiont   ConstantR   R
   t   Builtint   ReservedR   t	   MultilineR   R   t   tokens(    (    (    s6   lib/python2.7/site-packages/pygments/lexers/varnish.pyR      sÂ   														               				  	!							c           B   s‰   e  Z d  Z d Z d d g Z d g Z g  Z d „  Z i d e f d e	 j
 f g d 6d	 e j f g d
 6e d ƒ e e d
 ƒ g d 6Z RS(   sQ   
    For Varnish Configuration Language snippets.

    .. versionadded:: 2.2
    t   VCLSnippetst   vclsnippetst
   vclsnippets   text/x-vclsnippetc         C   s   d S(   Ni    (    (   R   (    (    s6   lib/python2.7/site-packages/pygments/lexers/varnish.pyR   ¬   s    s   \.\.\.+sN   (bereq|req|req_top|resp|beresp|obj|client|server|local|remote|storage)($|\.\*)t   snippetspres   (backend)\bt   snippetspostR7   (   R8   R9   R:   R;   R<   R>   R=   R   R   R   R@   R
   RF   R   R   RH   (    (    (    s6   lib/python2.7/site-packages/pygments/lexers/varnish.pyR   ¡   s   				N(   R:   t   pygments.lexerR    R   R   R   R   R   R   t   pygments.tokenR   R   R	   R
   R   R   R   R   R   t   __all__R   R   (    (    (    s6   lib/python2.7/site-packages/pygments/lexers/varnish.pyt   <module>
   s
   4@