£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
B
    YI~d"                 @   s   d dl Z d dlZd dlZd dlZd\ZZd dlmZ d dlm	Z	 d dl
mZ dZdZdddefZdddefZejej d	 Zej ejrejnd
 Zde ZG dd dZe  edkrd dlmZ eddd dS )    N)r      )autocomplete_w)idleConf)HyperParser)TFTN)FTTNF_ .c               @   sn   e Zd ZdddZedd Zdd Zddd	Zd
d Zdd Z	dddZ
dd Zdd Zdd Zdd ZdS )AutoCompleteNc             C   s,   || _ |d k	r|j| _d | _d | _d | _d S )N)editwintextautocompletewindow_delayed_completion_id_delayed_completion_index)selfr
    r   9/opt/alt/python37/lib64/python3.7/idlelib/autocomplete.py__init__!   s    zAutoComplete.__init__c             C   s   t jdddddd| _d S )N
extensionsr	   	popupwaitintr   )typedefault)r   Z	GetOptionr   )clsr   r   r   reload,   s    zAutoComplete.reloadc             C   s   t | jS )N)r   ZAutoCompleteWindowr   )r   r   r   r   _make_autocomplete_window1   s    z&AutoComplete._make_autocomplete_windowc             C   s   | j r| j   d | _ d S )N)r   Zhide_window)r   eventr   r   r   _remove_autocomplete_window4   s    
z(AutoComplete._remove_autocomplete_windowc             C   s   |  t dS )Nbreak)open_completionsFORCE)r   r   r   r   r   force_open_completions_event9   s    
z)AutoComplete.force_open_completions_eventc             C   s^   t |dr|js"| jdd s&d S | jrD| j rD| j  dS | t	}|rVdS d S d S )Nmc_statezinsert linestartinsertr   )
hasattrr!   r   getstripr   Z	is_activecompleter   TAB)r   r   Zopenedr   r   r   autocomplete_event>   s    

zAutoComplete.autocomplete_eventc             C   sd   | j d}|tkr`|dkr tnt}| j d| _| jd k	rJ| j | j | j 	| j
| j|| _d S )Nz	insert-1cr   r"   )r   r$   TRIGGERSTRY_ATRY_Findexr   r   after_cancelZafterr   _delayed_open_completions)r   r   Zlastcharargsr   r   r   try_open_completions_eventL   s    
z'AutoComplete.try_open_completions_eventc             C   s&   d | _ | jd| jkr"| | d S )Nr"   )r   r   r,   r   r   )r   r/   r   r   r   r.   W   s    z&AutoComplete._delayed_open_completionsc             C   s   |\}}}}| j d k	r*| j| j  d | _ t| jd}| jdd}t| }}	| r|rd|tkr| 	  t}x$|r||d  dt
 kr|d8 }qrW |||	 }
|}	x |r||d  dkr|d8 }qW |||	 }n| r|r|tkr| 	  t}x:|r4||d  tks*t||d  dkr4|d8 }qW |||	 }
|r||d  dkr|dt||d    | }|r|s|dd	krd S nd
}nd S |r|s|
sd S | ||}|d sd S |  | _| j|dt|
 ||| S )Nr"   zinsert linestartr   z'"   r   z
insert-%dc(r   r   )r   r   r-   r   r
   r$   lenZis_in_stringFILESr   SEPSZ
is_in_codeATTRSID_CHARSordZ	set_indexZget_expressionfindfetch_completionsr   r   Zshow_window)r   r/   Z	evalfuncsr&   ZwantwinmodeZhpZcurlineijZ
comp_startZ	comp_whatZ
comp_listsr   r   r   r   ]   sP    
0

zAutoComplete.open_completionsc       	      C   s`  y| j jjjj}W n   d }Y nX |r<|dd||fi S |tkr|dkrtjj	tj	}t
d|}|  d|krtt
d|}qdd |D }nPy@| |}t|}|  d|krt|j}ndd |D }W n   g g fS nd|tkrJ|dk rd	}y0tj|}t|}|  d
d |D }W n tk
rH   g g fS X |sT|}||fS d S )NexecZget_the_completion_listr   zdir()__all__c             S   s    g | ]}|d d dkr|qS )Nr   r   r   ).0sr   r   r   
<listcomp>   s    z2AutoComplete.fetch_completions.<locals>.<listcomp>c             S   s    g | ]}|d d dkr|qS )Nr   r   r   )rA   rB   r   r   r   rC      s    r   c             S   s    g | ]}|d d dkr|qS )Nr   r   r   )rA   rB   r   r   r   rC      s    )r
   flistZpyshellZinterprpccltZ
remotecallr7   __main____builtins____dict__evalsortsorted
get_entitydirr@   r5   ospath
expanduserlistdirOSError)	r   Zwhatr<   rE   	namespaceZbiglZsmalllZentityZexpandedpathr   r   r   r;      sL    







zAutoComplete.fetch_completionsc             C   s   t |tjtjS )N)rI   sysmodulesrF   rH   )r   namer   r   r   rL      s    zAutoComplete.get_entity)N)N)N)__name__
__module____qualname__r   classmethodr   r   r   r    r(   r0   r.   r   r;   rL   r   r   r   r   r	      s   


<9r	   rF   )mainz#idlelib.idle_test.test_autocomplete   )	verbosity)rF   rN   stringrT   r7   r5   Zidlelibr   Zidlelib.configr   Zidlelib.hyperparserr   r   r'   r*   r+   Zascii_lettersdigitsr8   sepaltsepr6   r)   r	   r   rW   Zunittestr[   r   r   r   r   <module>   s(   
 9