<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
2al$                 @   s   d dl Z d dlZd dlZedd\ZZd dlmZ d dlm	Z	 d dl
mZ d dlZejej d Ze jZe jrxee j7 ZG dd	 d	Zej  ed
krd dlmZ eddd dS )    N      )autocomplete_w)idleConf)HyperParser_c               @   sv   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 Z
dd Zdd Zd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   1/opt/alt/python36/lib64/python3.6/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| jS )N)r   ZAutoCompleteWindowr
   )r   r   r   r   _make_autocomplete_window.   s    z&AutoComplete._make_autocomplete_windowc             C   s   | j r| j j  d | _ d S )N)r   Zhide_window)r   eventr   r   r   _remove_autocomplete_window1   s    
z(AutoComplete._remove_autocomplete_windowc             C   s   | j ddd dS )NTFbreak)open_completions)r   r   r   r   r   force_open_completions_event6   s    z)AutoComplete.force_open_completions_eventc             C   sB   | j jd}|dkr&| jdddt n|tkr>| jdddt d S )Nz	insert-1c.F)r
   get_open_completions_laterCOMPLETE_ATTRIBUTESSEPSCOMPLETE_FILES)r   r   Zlastcharr   r   r   try_open_completions_event=   s    

z'AutoComplete.try_open_completions_eventc             C   sd   t |dr|js$| jjddj  r(d S | jrF| jj rF| jj  dS | jddd}|r\dS d S d S )Nmc_statezinsert linestartinsertr   FT)	hasattrr&   r
   r    stripr   Z	is_activecompleter   )r   r   Zopenedr   r   r   autocomplete_eventJ   s    
zAutoComplete.autocomplete_eventc             G   sD   | j jd| _| jd k	r&| j j| j | j j| j| jf| | _d S )Nr'   )r
   indexr   r   after_cancelafterr   _delayed_open_completions)r   argsr   r   r   r!   [   s
    
z$AutoComplete._open_completions_laterc             G   s&   d | _ | jjd| jkr"| j|  d S )Nr'   )r   r
   r,   r   r   )r   r0   r   r   r   r/   c   s    z&AutoComplete._delayed_open_completionsc             C   s  | j d k	r| jj| j  d | _ t| jd}| jjdd}t| }}|j r| sZ|tkr| j	  t}x$|r||d  dt
 kr|d8 }qhW ||| }	|}x |r||d  dkr|d8 }qW ||| }
n|j o| s|tkr| j	  t}x:|r*||d  tks t||d  dkr*|d8 }qW ||| }	|r||d  dkr|jdt||d    |j }
|
 s| r|
jddkrd S nd	}
nd S |r|
 r|	 rd S | j|
|}|d
 sd S | j | _| jj|dt|	 ||| S )Nr'   zinsert linestartr   z'"   r   z
insert-%dc( r   )r   r
   r-   r   r	   r    lenZis_in_stringr$   r   r#   Z
is_in_coder"   ID_CHARSordZ	set_indexZget_expressionfindfetch_completionsr   r   Zshow_window)r   Z	evalfuncsr*   ZuserWantsWinmodeZhpZcurlineijZ
comp_startZ	comp_whatZ
comp_listsr   r   r   r   h   sN    
0

zAutoComplete.open_completionsc       	      C   sj  y| j jjjj}W n   d }Y nX |r<|jdd||fi S |tkr|dkrtjj	 }|j
tjj td|}|j  d|krttd|}qdd |D }nPy@| j|}t|}|j  d|krt|j}ndd |D }W n   g g fS nd|tkrT|dkrd	}y0tjj|}tj|}|j  d
d |D }W n tk
rR   g g fS X |s^|}||fS d S )NexecZget_the_completion_listr3   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   )r?   r@   r   r   r   rA      s    r   c             S   s    g | ]}|d d dkr|qS )Nr   r   r   )r?   r@   r   r   r   rA      s    )r	   flistZpyshellZinterprpccltZ
remotecallr"   __main____dict__copyupdate__builtins__evalsortsorted
get_entitydirr>   r$   ospath
expanduserlistdirOSError)	r   Zwhatr:   rC   	namespaceZbiglZsmalllZentityZexpandedpathr   r   r   r9      sL    








zAutoComplete.fetch_completionsc             C   s    t jj }|jtj t||S )N)sysmodulesrF   rG   rD   rE   rI   )r   namerS   r   r   r   rL      s    
zAutoComplete.get_entity)N)N)N)__name__
__module____qualname__r   classmethodr   r   r   r   r%   r+   r!   r/   r   r9   rL   r   r   r   r   r      s   


;9r   rD   )mainz#idlelib.idle_test.test_autocomplete)	verbosity   )rN   stringrT   ranger"   r$   Zidlelibr   Zidlelib.configr   Zidlelib.hyperparserr   rD   Zascii_lettersdigitsr6   sepr#   altsepr   r   rW   Zunittestr[   r   r   r   r   <module>   s"   
 H