o ?Og@s ddlZddlZddlZddlZdgZGdddZddZzddlZWn ey1dZ YdSwe ej e ddd Z dS) N Completerc@s6eZdZd ddZddZddZdd Zd d ZdS) rNcCs: |r t|ts td|durd|_dSd|_||_dS)Nznamespace must be a dictionaryr) isinstancedict TypeError use_main_ns namespace)selfrr 2/opt/alt/python310/lib64/python3.10/rlcompleter.py__init__(s  zCompleter.__init__cCs |jrtj|_|s!|dkrtrtdtdSdSdS|dkr6d|vr0| ||_ n| ||_ z|j |WSt yFYdSw)Nr .) r__main____dict__rstrip_readline_availablereadlineZ insert_textZ redisplay attr_matchesmatchesglobal_matches IndexError)r textstater r r completeCs(    zCompleter.completecCsJt|r#|d7}zt|js|d7}W|SW|Sty"Y|Sw|S)N())callableinspectZ signatureZ parameters ValueError)r valwordr r r _callable_postfixbs   zCompleter._callable_postfixc Cs ddl}g}dh}t|}|jD]%}|d||kr6|||dvr)|d}n|dvr1|d}||q|jtjfD]%}|D]\}}|d||kra||vra|||| ||qCq=|S)Nr __builtins__>finallytry:>breakelseNoneTrueFalsecontinuepass ) keywordlenkwlistaddappendrbuiltinsritemsr#) r rr0rseennr"Znspacer!r r r rms,     zCompleter.global_matchescCsz ddl}|d|}|sgS|dd\}}zt||j}Wn ty*gYSwtt|}|dt |drH| d| t |j g}t|} |dkrUd} n |dkr\d } nd} |D]F} | d| |kr| rw| d| d| ksd || f} ttt|| dtr|| qat|| d} dur||| | qa|| qa|s| sn | dkrd } nd} q_||S) Nrz(\w+(\.\w+)*)\.(\w*)rr$ __class__r___Tz%s.%s)rematchgroupevalr Exceptionsetdirdiscardhasattrr3updateget_class_membersr:r1rgetattrtypepropertyr4r#sort)r rr=mexprattrZ thisobjectZwordsrr8Znoprefixr"r>valuer r r rs^         zCompleter.attr_matchesN)__name__ __module__ __qualname__r rr#rrr r r r r's   cCs.t|}t|dr|jD]}|t|}q |S)N __bases__)rCrErTrG)klassZretbaser r r rGs   rGFcCs tdSrP)r set_completerr r r r s rXT) atexitr5rr__all__rrGr ImportErrorrrWrregisterr r r r s"$