
    z%i                         	 d dl Z d dlZd dlZd dlZd dlZd dlZdgZ G d d      Zd Z	 d dl	Z	 e	j                   e       j                          e j                  d        dZy# e$ r dZY yw xY w)    N	Completerc                   ,    e Zd ZddZd Zd Zd Zd Zy)r   Nc                 p    	 |rt        |t              st        d      |d| _        y d| _        || _        y )Nznamespace must be a dictionary   r   )
isinstancedict	TypeErroruse_main_ns	namespace)selfr   s     ?/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/rlcompleter.py__init__zCompleter.__init__*   s@    	 Z	48<==
  D D&DN    c                 ~   	 | j                   rt        j                  | _        |j	                         s7|dk(  r1t
        r*t        j                  d       t        j                          yyy |dk(  r1d|v r| j                  |      | _
        n| j                  |      | _
        	 | j                  |   S # t        $ r Y y w xY w)Nr   	 .)r
   __main____dict__r   strip_readline_availablereadlineinsert_text	redisplayattr_matchesmatchesglobal_matches
IndexError)r   textstates      r   completezCompleter.completeE   s    	 %..DNzz|z&((.&&(A:d{#006#2248	<<&& 		s   !B0 0	B<;B<c                     t        |      r,|dz  }	 t        j                  |      j                  s|dz  }|S |S # t        $ r Y |S w xY w)N())callableinspect	signature
parameters
ValueError)r   valwords      r   _callable_postfixzCompleter._callable_postfixd   sX    C=CKD((-88CKD t  s   $: 	AAc                    	 g }dh}t        |      }t        j                  t        j                  z   D ]@  }|d | |k(  s|j	                  |       |dv r|dz   }n	|dvr|dz   }|j                  |       B | j                  t        j                  fD ]Z  }|j                         D ]E  \  }}|d | |k(  s||vs|j	                  |       |j                  | j                  ||             G \ |S )N__builtins__>   tryfinally:>   _NoneTrueelsepassFalsebreakcontinue )lenkeywordkwlist
softkwlistaddappendr   builtinsr   itemsr,   )r   r   r   seennr+   nspacer*   s           r   r   zCompleter.global_matcheso   s	   	 INNW%7%77 		%DBQx4--#:D "/ /  #:Dt$		% ~~x'8'89 	FF#\\^ F	c8t#D(8HHTNNN4#9#9#t#DEF	F
 r   c                 <   	 t        j                  d|      }|sg S |j                  dd      \  }}	 t        || j                        }t        t        |            }|j                  d       t        |d      r5|j                  d       |j                  t        |j                               g }t        |      }|dk(  rd}	n
|dk(  rd}	nd }		 |D ]  }
|
d | |k(  s|	r|
d |dz    |	k(  r|d	|
}t        t!        t#        |      |
d       t$              r|j'                  |       Wt!        ||
d       x}"|j'                  | j)                  ||             |j'                  |        |s|	sn|	dk(  rd}	nd }	|j+                          |S # t
        $ r g cY S w xY w)
Nz(\w+(\.\w+)*)\.(\w*)r      r.   	__class__r   r2   __r   )rematchgroupevalr   	Exceptionsetdirdiscardhasattrr?   updateget_class_membersrH   r;   r   getattrtypepropertyr@   r,   sort)r   r   mexprattr
thisobjectwordsr   rD   noprefixr+   rK   values                r   r   zCompleter.attr_matches   s   
	 HH,d3IWWQ]
d	dDNN3J
 C
O$n%:{+IIk"LL*:+?+?@AI2:HS[HH .!H$!d4AaCjH&<'+T2E!'$z*:D$"G"*,  u- !(T4!@@Mt'='=eU'KLu-#.$ h31 2 	Y  	I	s   F FFN)__name__
__module____qualname__r   r!   r,   r   r    r   r   r   r   )   s    '6>	6>r   c                 r    t        |       }t        | d      r| j                  D ]  }|t        |      z   } |S )N	__bases__)rP   rR   rf   rT   )klassretbases      r   rT   rT      s=    
e*Cu[!OO 	0D)$//C	0Jr   c                  ,    t        j                  d       S r`   )r   set_completerrd   r   r   <lambda>rl      s    H2248 r   TF)atexitrA   r&   r<   rJ   r   __all__r   rT   r   rk   r!   registerr   ImportErrorrd   r   r   <module>rq      s   >     	 -_ _B
 H9;//0 FOO89    s   A& &A0/A0