ó
±xYc           @  sf   d  d l  m Z d  d l m Z d  d l m Z d d l m Z m Z d
 Z	 d e f d „  ƒ  YZ
 d	 S(   iÿÿÿÿ(   t   unicode_literals(   t   GrammarCompleter(   t   compilei   (   t   PathCompletert   ExecutableCompleteru   SystemCompletert   SystemCompleterc           B  s   e  Z d  Z d „  Z RS(   u(   
    Completer for system commands.
    c         C  s©   t  d d i d „  d 6d „  d 6d i d „  d 6d	 „  d 6ƒ} t t |  ƒ j | i t ƒ  d
 6t d t d t ƒ d 6t d t d t ƒ d 6t d t d t ƒ d 6ƒ d  S(   Nu  
                # First we have an executable.
                (?P<executable>[^\s]+)

                # Ignore literals in between.
                (
                    \s+
                    ("[^"]*" | '[^']*' | [^'"]+ )
                )*

                \s+

                # Filename as parameters.
                (
                    (?P<filename>[^\s]+) |
                    "(?P<double_quoted_filename>[^\s]+)" |
                    '(?P<single_quoted_filename>[^\s]+)'
                )
            t   escape_funcsc         S  s   |  j  d d ƒ S(   Nu   "u   \"(   t   replace(   t   string(    (    sG   lib/python2.7/site-packages/prompt_toolkit/contrib/completers/system.pyt   <lambda>(   s    u   double_quoted_filenamec         S  s   |  j  d d ƒ S(   Nu   'u   \'(   R   (   R   (    (    sG   lib/python2.7/site-packages/prompt_toolkit/contrib/completers/system.pyR	   )   s    u   single_quoted_filenamet   unescape_funcsc         S  s   |  j  d d ƒ S(   Nu   \"u   "(   R   (   R   (    (    sG   lib/python2.7/site-packages/prompt_toolkit/contrib/completers/system.pyR	   ,   s    c         S  s   |  j  d d ƒ S(   Nu   \'u   '(   R   (   R   (    (    sG   lib/python2.7/site-packages/prompt_toolkit/contrib/completers/system.pyR	   -   s    u
   executablet   only_directoriest
   expanduseru   filename(   R   t   superR   t   __init__R   R   t   Falset   True(   t   selft   g(    (    sG   lib/python2.7/site-packages/prompt_toolkit/contrib/completers/system.pyR      s    


(   t   __name__t
   __module__t   __doc__R   (    (    (    sG   lib/python2.7/site-packages/prompt_toolkit/contrib/completers/system.pyR      s   N(   u   SystemCompleter(   t
   __future__R    t3   prompt_toolkit.contrib.regular_languages.completionR   t1   prompt_toolkit.contrib.regular_languages.compilerR   t
   filesystemR   R   t   __all__R   (    (    (    sG   lib/python2.7/site-packages/prompt_toolkit/contrib/completers/system.pyt   <module>   s
   