o
0¦i‰ ã @ sˆ d dl Z d dlZd dlZd dlZdgZG dd„ dƒZdd„ Zzd dlZW n ey1 dZ Y dS w e
eƒ j¡ e dd„ ¡ d Z dS )
é NÚ Completerc @ s6 e Zd Zddd„Zdd„ Zdd„ Zdd „ Zd
d„ ZdS )
r Nc C s: |rt |tƒstdƒ‚|d u rd| _d S d| _|| _d S )Nznamespace must be a dictionaryé r )Ú
isinstanceÚdictÚ TypeErrorÚuse_main_nsÚ namespace)Úselfr © r
ú2/opt/alt/python310/lib64/python3.10/rlcompleter.pyÚ__init__( s
zCompleter.__init__c C sŽ | j rtj| _| ¡ s!|dkrtrt d¡ t ¡ dS dS d S |dkr6d|v r0| |¡| _
n| |¡| _
z| j
| W S tyF Y d S w )Nr ú Ú Ú.)
r Ú__main__Ú__dict__r ÚstripÚ_readline_availableÚreadlineZinsert_textZ redisplayÚattr_matchesÚmatchesÚglobal_matchesÚ
IndexError)r ÚtextÚstater
r
r ÚcompleteC s(
ÿzCompleter.completec C sJ t |ƒr#|d7 }zt |¡js|d7 }W |S W |S ty" Y |S w |S )Nú(ú))ÚcallableÚinspectZ signatureZ
parametersÚ
ValueError)r ÚvalÚwordr
r
r Ú_callable_postfixb s
ûýýzCompleter._callable_postfixc C sÊ dd l }g }dh}t|ƒ}|jD ]%}|d |… |kr6| |¡ |dv r)|d }n|dvr1|d }| |¡ q| jtjfD ]%}| ¡ D ]\}}|d |… |kra||vra| |¡ | | ||¡¡ qCq=|S )Nr Ú__builtins__> ÚtryÚfinallyú:> ÚelseÚpassÚcontinueÚbreakÚNoneÚFalseÚTrueú )
ÚkeywordÚlenÚkwlistÚaddÚappendr Úbuiltinsr Úitemsr# ) r r r0 r ÚseenÚnr" Znspacer! r
r
r r m s,
€
€ýzCompleter.global_matchesc C sz dd l }| d|¡}|sg S | dd¡\}}zt|| jƒ}W n ty* g Y S w tt|ƒƒ}| d¡ t |dƒrH|
d¡ | t|j
ƒ¡ g }t|ƒ} |dkrUd}
n |dkr\d }
nd }
|D ]F}|d | … |kr§|
rw|d | d … |
ks§d||f }ttt|ƒ|d ƒtƒrŽ| |¡ qat||d ƒ }
d ur¢| | |
|¡¡ qa| |¡ qa|s¬|
sn
|
dkr´d }
nd }
q_| ¡ |S )Nr z(\w+(\.\w+)*)\.(\w*)r é r$ Ú __class__r Ú_Ú__Tz%s.%s)ÚreÚmatchÚgroupÚevalr Ú ExceptionÚsetÚdirÚdiscardÚhasattrr3 ÚupdateÚget_class_membersr: r1 r ÚgetattrÚtypeÚpropertyr4 r# Úsort)r r r= ÚmÚexprÚattrZ
thisobjectZwordsr r8 Znoprefixr" r> Úvaluer
r
r r ‰ s^ ÿ
ÿÿ
€èzCompleter.attr_matches©N)Ú__name__Ú
__module__Ú__qualname__r r r# r r r
r
r
r r ' s
c C s. t | ƒ}t| dƒr| jD ]}|t|ƒ }q|S )NÚ __bases__)rC rE rT rG )ÚklassZretÚbaser
r
r rG Ê s
rG Fc C s
t d ¡S rP )r Ú
set_completerr
r
r
r Ú