3 \¹ ã @ s~ d dl Z d dlZd dlZdgZG dd„ dƒZdd„ Zyd dlZW n ek rX dZY n"X ej eƒ j ƒ e jdd„ ƒ d ZdS ) é NÚ Completerc @ s6 e Zd Zddd„Zdd„ Zdd„ Zdd „ Zd d„ ZdS ) r Nc C s8 |rt |tƒ rtdƒ‚|d kr(d| _nd| _|| _d S )Nznamespace must be a dictionaryé r )Ú isinstanceÚdictÚ TypeErrorÚuse_main_nsÚ namespace)Úselfr © r ú#/usr/lib64/python3.6/rlcompleter.pyÚ__init__' s zCompleter.__init__c C s� | j rtj| _|jƒ sB|dkr>tr8tjdƒ tjƒ dS dS nd S |dkrld|kr`| j |ƒ| _ n| j|ƒ| _ y | j | S tk rŠ d S X d S )Nr ú Ú Ú.) r Ú__main__Ú__dict__r ÚstripÚ_readline_availableÚreadlineZinsert_textZ redisplayÚattr_matchesÚmatchesÚglobal_matchesÚ IndexError)r ÚtextÚstater r r ÚcompleteB s$ zCompleter.completec C s t |ƒr|d }|S )Nú()Úcallable)r ÚvalÚwordr r r Ú_callable_postfixa s zCompleter._callable_postfixc C sÔ dd l }g }dh}t|ƒ}xT|jD ]J}|d |… |kr"|j|ƒ |dkrR|d }n|dkrb|d }|j|ƒ q"W x^| jtjgD ]N}xH|jƒ D ]<\}}|d |… |krŒ||krŒ|j|ƒ |j| j ||ƒƒ qŒW q~W |S )Nr Ú__builtins__ÚfinallyÚtryú:ÚFalseÚNoneÚTrueÚbreakÚcontinueÚpassÚelseú > r" r# > r) r% r* r( r&