§
    xÅjf  ã                   óÚ   — d Z ddlmZ ddlZddlZddlZddlZddlmZ ddlm	Z	m
Z
 ddlmZmZ erddlmZ dd	lmZmZmZ d
ee         ddddddddde	fd„Zdd„Zded
ee         ddfd„ZdS )zO
Command-line completion mechanisms, executed by the core ``--complete`` flag.
é    )ÚListN)ÚTYPE_CHECKINGé   )ÚExitÚ
ParseError)ÚdebugÚtask_name_sort_key)Ú
Collection)ÚParserÚParseResultÚParserContextÚnamesÚcorer   Úinitial_contextr   Ú
collectionr
   Úparserr   Úreturnc                 óˆ  — t          j        d                     d                     | ¦  «        ¦  «        d|j        ¦  «        }t          d                     |¦  «        ¦  «         t          j        |¦  «        }|�r$|d                              d¦  «        �r|d         }t          d                     |¦  «        ¦  «         	 t          d                     |¦  «        ¦  «         | 	                    |¦  «        }nR# t          $ rE}	d	}
t          |
                     |	|	j        ¦  «        ¦  «         |	j        �|	j        gng }Y d }	~	nd }	~	ww xY wt          d
                     |¦  «        ¦  «         |r|d         s|}n|d         }t          d                     |¦  «        ¦  «         t          d                     ||j        ¦  «        ¦  «         ||j        vrˆt          d¦  «         |                     d¦  «        r6t          d„ |                     ¦   «         ¦  «        D ]}t          |¦  «         Œn�|dk    r'|                     ¦   «         D ]}t          |¦  «         Œn`n_|j        |         j        rt          d¦  «         n=t          d¦  «         t#          |¦  «         nt          d¦  «         t#          |¦  «         t$          ‚)Nz^({}) ú|Ú zCompleting for invocation: {!r}éÿÿÿÿú-z#Invocation's tail {!r} is flag-likez$Seeking context name in tokens: {!r}z<Got parser error ({!r}), grabbing its last-seen context {!r}z!Parsed invocation, contexts: {!r}zSelected context: {!r}zLooking for {!r} in {!r}z%Not found, completing with flag namesú--c                 ó,   — |                       d¦  «        S )Nr   )Ú
startswith)Úxs    úKC:\Projects\Historical\venv\Lib\site-packages\invoke/completion/complete.pyú<lambda>zcomplete.<locals>.<lambda>@   s   € ˜aŸlšl¨4Ñ0Ô0€ ó    z-Found, and it takes a value, so no completionz*Found, takes no value, printing task namesz4Last token isn't flag-like, just printing task names)ÚreÚsubÚformatÚjoinÚ	remainderr   ÚshlexÚsplitr   Ú
parse_argvr   ÚcontextÚflagsÚfilterÚ
flag_namesÚprintÚtakes_valueÚprint_task_namesr   )r   r   r   r   r   Ú
invocationÚtokensÚtailÚcontextsÚeÚmsgr(   Únames                r   Úcompleter6      sÜ  € õ ”˜	×(Ò(¨¯ª°%©¬Ñ9Ô9¸2¸t¼~ÑNÔN€JÝ	Ð
+×
2Ò
2°:Ñ
>Ô
>Ñ?Ô?Ð?åŒ[˜Ñ$Ô$€Fàñ ;%�&˜”*×'Ò'¨Ñ,Ô,ñ ;%Ø�bŒzˆÝÐ3×:Ò:¸4Ñ@Ô@ÑAÔAÐAð	DÝÐ8×?Ò?ÀÑGÔGÑHÔHÐHØ×(Ò(¨Ñ0Ô0ˆHˆHøÝð 	Dð 	Dð 	DØPˆCÝ�#—*’*˜Q ¤	Ñ*Ô*Ñ+Ô+Ð+Ø&'¤iÐ&;˜œ	�{�{ÀˆHˆHˆHˆHˆHˆHøøøøð	Døøøõ
 	Ð1×8Ò8¸ÑBÔBÑCÔCÐCØð 	#˜x¨œ|ð 	#Ø%ˆGˆGà˜r”lˆGÝÐ&×-Ò-¨gÑ6Ô6Ñ7Ô7Ð7õ 	Ð(×/Ò/°°g´mÑDÔDÑEÔEÐEØ�w”}Ð$Ð$ÝÐ9Ñ:Ô:Ð:à�Š˜tÑ$Ô$ð Ý"Ø0Ð0°'×2DÒ2DÑ2FÔ2Fñô ð  ð  �Dõ ˜$‘K”K�K�Kð ð
 ˜’�Ø#×.Ò.Ñ0Ô0ð  ð  �DÝ˜$‘K”K�K�Kð ð ð Œ}˜TÔ"Ô.ð -ÝÐEÑFÔFÐFØõ ÐBÑCÔCÐCÝ  Ñ,Ô,Ð,Ð,õ 	ÐDÑEÔEÐEÝ˜Ñ$Ô$Ð$Ý
€Js   Ã7C: Ã:
E	Ä;EÅE	c                 óž   — t          | j        t          ¬¦  «        D ]0}t          |¦  «         | j        |         D ]}t          |¦  «         ŒŒ1d S )N)Úkey)ÚsortedÚ
task_namesr	   r,   )r   r5   Úaliass      r   r.   r.   a   sb   € Ý�zÔ,Õ2DÐEÑEÔEð ð ˆÝˆd‰Œˆð  Ô*¨4Ô0ð 	ð 	ˆEÝ�%‰LŒLˆLˆLð	ð	ð r   Úshellc                 óî  — d„ t          j         t          j                             t          j                             t          j                             t          ¦  «        ¦  «        d¦  «        ¦  «        D ¦   «         }	 ||          }nS# t          $ rF d}t          | 	                    | d                     t          |¦  «        ¦  «        ¦  «        ¦  «        ‚w xY wt          d 	                    |¦  «        ¦  «         |d         }t          |d¦  «        5 }t          |                     ¦   «          	                    |d                     |¦  «        ¬	¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nc                 ó”   — i | ]E}t           j                             t           j                             |¦  «        ¦  «        d          |“ŒFS )r   )ÚosÚpathÚsplitextÚbasename)Ú.0r   s     r   ú
<dictcomp>z+print_completion_script.<locals>.<dictcomp>m   sO   € ð ð ð àõ 	Œ×Ò�œ×)Ò)¨!Ñ,Ô,Ñ-Ô-¨aÔ0°!ðð ð r   z*.completionz:Completion for shell "{}" not supported (options are: {}).z, z"Printing completion script from {}r   Úrú )ÚbinaryÚspaced_names)Úglobr?   r@   r#   ÚdirnameÚrealpathÚ__file__ÚKeyErrorr   r"   r9   r   Úopenr,   Úread)r<   r   Úcompletionsr@   ÚerrrG   Úscripts          r   Úprint_completion_scriptrS   j   s›  € ðð å”ÝŒG�LŠLÝ”—’¥¤× 0Ò 0µÑ :Ô :Ñ;Ô;¸^ñô ñ
ô 
ðñ ô €KðLØ˜5Ô!ˆˆøÝð Lð Lð LØJˆÝ˜Ÿš E¨4¯9ª9µV¸KÑ5HÔ5HÑ+IÔ+IÑJÔJÑKÔKÐKðLøøøõ 
Ð
.×
5Ò
5°dÑ
;Ô
;Ñ<Ô<Ð<ð �1ŒX€FÝ	ˆd�C‰Œð 
˜FÝØ�KŠK‰MŒM× Ò ¨¸S¿XºXÀe¹_¼_Ð ÑMÔMñ	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s    Á=B ÂACÄA
E*Å*E.Å1E.)r   r
   r   N)Ú__doc__Útypingr   rI   r?   r    r%   r   Ú
exceptionsr   r   Úutilr   r	   r   r
   r   r   r   r   Ústrr6   r.   rS   © r   r   ú<module>rZ      sg  ððð ð Ð Ð Ð Ð Ð Ø €€€Ø 	€	€	€	Ø 	€	€	€	Ø €€€Ø  Ð  Ð  Ð  Ð  Ð  à )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,àð <Ø'Ð'Ð'Ð'Ð'Ð'Ø;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ð;ðJØ�Œ9ðJà
ðJð %ðJð ð	Jð
 ðJð 
ðJð Jð Jð JðZð ð ð ð
 3ð 
¨t°C¬yð 
¸Tð 
ð 
ð 
ð 
ð 
ð 
r   