
    辙h &                         d dl mZ d dlZd dlmZ d dlZd dlmZmZ ddl	m
Z
mZ dgZej                  dk(  Z	 d dlZd	Zd
Zd Z G d de      Zy# eef$ r d dlZdZdZY  w xY w)    )unicode_literalsN)iglob)
Completion	Completer   )_resolve_contextsplit_arg_stringClickCompleterntTshell_completeFautocompletionc                 $    dj                  |       S )Nz{})format)texts    Q/var/www/Befach/backend/env/lib/python3.12/site-packages/click_repl/_completer.py	text_typer      s    ;;t    c                   B    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
dd
Zy	)r
   )clictxparsed_args
parsed_ctxctx_commandc                 ^    || _         || _        g | _        || _        |j                  | _        y N)r   r   r   r   commandr   )selfr   r   s      r   __init__zClickCompleter.__init__$   s+    ;;r   c           	          g }t         r|j                  ||      }n|j                  |||      }|D ]  }t        |t              r7|j                  t        t        |d         t        |       |d                Jt         r]t        |t        j                  j                        r9|j                  t        t        |j                        t        |                    |j                  t        t        |      t        |                     |S )Nr   r   display_meta)HAS_CLICK_V8r   r   
isinstancetupleappendr   r   lenclickshell_completionCompletionItemvalue)r   paramautocomplete_ctxargs
incompleteparam_choicesautocompletionsautocompletes           r   -_get_completion_from_autocompletion_functionsz<ClickCompleter._get_completion_from_autocompletion_functions+   s     #223CZPO#22 $
O ,L,.$$!,q/2Z(%1!_ *e44CC# $$y););<s:>NO
 $$y6Z8HI% ,, r   c                 0   t        |j                  dd      s|j                         }|j                  j                  D cg c]Z  }|j                         j	                  |      r9t        t        |      t        |       t        d|v rt        |      n|            \ c}S |j                  j                  D cg c]L  }|j	                  |      r9t        t        |      t        |       t        d|v rt        |      n|            N c}S c c}w c c}w )Ncase_sensitiveT display)	getattrtypelowerchoices
startswithr   r   r&   repr)r   r+   r.   choices       r   '_get_completion_from_choices_click_le_7z6ClickCompleter._get_completion_from_choices_click_le_7S   s    uzz#3T:#))+J $jj00 <<>,,Z8 f%_$%cVmd6lP " $jj00 $$Z0 f%_$%cVmd6lP s    AD:ADc                 <   d|v rg S g }t         j                  j                  |      }|j                  d      j	                  dd      dz   }d}d|v r|D ]
  }|dv s|} n t        |      D ]  }	d|	v r*|r||	z   }	n:t        r4t        |	      j	                  dd      }	nt        r|	j	                  dd      }	|j                  t        t        |	      t        |       t        t         j                  j                  |	j                  d                  	              |S )
N*z'"	
 z\\\ r5   )'"z'"r6   )ospath
expandvarsstripreplacer   
IS_WINDOWSr=   r%   r   r   r&   basename)
r   r+   r-   r.   r;   _incompletesearch_patternquoteirG   s
             r   _get_completion_for_Path_typesz-ClickCompleter._get_completion_for_Path_typesk   s   *Igg((4$**>:BB64PSVV+
?E  
 .)Dd{ 4<D!#Dz11&$?<<f5DNNdO_$%bgg&6&6tzz%7H&IJ *& r   c                     dddj                         D cg c]R  \  }}t        fd|D              r9t        t        |      t	               t        dj                  |                  T c}}S c c}}w )N)1truetyesyon)0falsefnonoff)rT   rZ   c              3   @   K   | ]  }|j                          y wr   )r<   ).0rP   r.   s     r   	<genexpr>zBClickCompleter._get_completion_for_Boolean_type.<locals>.<genexpr>   s     71<<
+7s   /r    )itemsanyr   r   r&   join)r   r+   r.   kvs     `  r    _get_completion_for_Boolean_typez/ClickCompleter._get_completion_for_Boolean_type   sq     => eg	
 1 7Q77 !s:.YsxxPQ{=S	
 		
 	
s   AA3c                 :   g }|j                   }t        s=t        |t        j                        r#|j                  | j                  ||             |S t        |t        j                  j                        r#|j                  | j                  ||             |S t        |t        j                  t        j                  f      r$|j                  | j                  |||             |S t        |t        d       #|j                  | j                  ||||             |S r   )r9   r"   r#   r'   Choiceextendr?   typesBoolParamTyperh   PathFilerQ   r8   AUTO_COMPLETION_PARAMr2   )r   r,   r-   r+   r.   r;   
param_types          r   _get_completion_from_paramsz*ClickCompleter._get_completion_from_params   s    ZZ
 
:u|| DNN<<UJO( ! 
EKK$=$=>NN4@@
ST  
UZZ$<=NN4>>udJWX  U148DNNBB$	 r   c                    g }d}|j                   D ]D  }t        |j                  t        j                  j
                        rg c S t        |dd      rDt        |t        j                        r|j                  |j                  z   D ]s  }|||j                  dz  d  v rd} n[|j                  |      s-|j                  t        t        |      t        |       t        |j                   xs d                   u |s| j#                  ||||      }t        |t        j$                        s"|j'                  | j#                  ||||             G |S )NFhiddenTrC   r    )paramsr#   r9   r'   rl   UnprocessedParamTyper8   Optionoptssecondary_optsnargsr<   r%   r   r   r&   helprr   Argumentrk   )	r   r   r.   r,   r-   r;   param_calledr+   options	            r   _get_completion_for_cmd_argsz+ClickCompleter._get_completion_for_cmd_args   s3     ''E%**ekk&F&FG	%0E5<<0#jj5+?+??F ekkB&6&8!99'+**:6& )& 1!$Z 0-6uzz7GR-H @"  ">>($zG E5>>244($z? (J r   Nc              #     K   t        |j                  d      }g }|j                  j                         |j                  k(  }|j                  j                  d      ry |r|r|j	                         }nd}| j
                  |k7  r=|| _        t        || j                        | _        | j                  j                  | _
        t        | j                  dd      ry 	 |j                  | j                  | j                  || j                  |             t        | j                  t        j                         r|j#                         }| j                  j%                  | j                        D ]  }| j                  j'                  | j                  |      }	t        |	dd      r7|j#                         j                  |      sW|j)                  t+        t-        |      t/        |       t        |	dd                    |D ]  }|  y # t0        $ rK}
t        j2                  dj5                  t7        |
      j8                  t;        |
                   Y d }
~
[d }
~
ww xY ww)	NF)posix)!:rC   rt   
short_helpr    z{}: {})r	   text_before_cursorrstripr<   popr   r   r   r   r   r   r8   rk   r   r#   r'   MultiCommandr:   list_commandsget_commandr%   r   r   r&   	Exceptionechor   r9   __name__str)r   documentcomplete_eventr-   r;   cursor_within_commandr.   incomplete_lowernamer   eitems               r   get_completionszClickCompleter.get_completions   s       ; ;5I''..0H4O4OO 	 &&11*=) J Jt##D.tTXX>DO#66D4##Xu5	BNN11$$j$//4 $**E,>,>?#-#3#3#5  ,,::4??KD"..::4??DQGw%8 001AB& )$!$Z 0-4WlB-O L, DJ   	BJJxtAw'7'7Q@AA	Bs8   CI"C&H =H ?I"	IAII"II"r   )r   
__module____qualname__	__slots__r   r2   r?   rQ   rh   rr   r   r    r   r   r
   r
   !   s2    JI'&P0"H

:/b?r   )
__future__r   rF   globr   r'   prompt_toolkit.completionr   r   utilsr   r	   __all__r   rK   click.shell_completionr"   rp   ImportErrorModuleNotFoundErrorclick._bashcompleter   r
   r   r   r   <module>r      sw    ' 	   ; 5
WW_
	-!L,GY G 	() -L,	-s   A A! A!