B
f" @ s d Z ddlZddlZddlZddlZd\ZZddlmZ ddl m
Z
ddlmZ dZ
dZd d d efZd d d efZejej d
Zej ejrejnd Zde ZG d
d dZe edkrddlmZ eddd dS )zComplete either attribute names or file names.
Either on demand or after a user-selected delay after a key character,
pop up a list of candidates.
N)r )autocomplete_w)idleConf)HyperParser)TFTN)FTTNF_ .c @ sn e Zd ZdddZedd Zdd Zddd Zd
d Zdd
Z dddZ
dd Zdd Zdd Z
dd ZdS )AutoCompleteNc C s, || _ |d k r|j| _d | _d | _d | _d S )N)editwintextautocompletewindow_delayed_completion_id_delayed_completion_index)selfr
r 9/opt/alt/python37/lib64/python3.7/idlelib/autocomplete.py__init__! s zAutoComplete.__init__c C s t jdddddd| _d S )N
extensionsr popupwaitintr )typedefault)r Z GetOptionr )clsr r r reload, s zAutoComplete.reloadc C s t | jS )N)r ZAutoCompleteWindowr )r r r r _make_autocomplete_window1 s z&AutoComplete._make_autocomplete_windowc C s | j r| j d | _ d S )N)r Zhide_window)r eventr r r _remove_autocomplete_window4 s
z(AutoComplete._remove_autocomplete_windowc C s | t dS )zA(^space) Open completion list, even if a function call is needed.break)open_completionsFORCE)r r r r r force_open_completions_event9 s
z)AutoComplete.force_open_completions_eventc C s^ t |dr|js"| jdd s&dS | jrD| j rD| j dS | t }|rVdS dS dS )z5(tab) Complete word or open list if multiple options.mc_statezinsert linestartinsertNr )
hasattrr! r getstripr Z is_activecompleter TAB)r r Zopenedr r r autocomplete_event> s
zAutoComplete.autocomplete_eventc C sd | j d}|tkr`|dkr tnt}| j d| _| jdk rJ| j | j | j | j
| j|| _dS )z7(./) Open completion list after pause with no movement.z insert-1cr r" N)r r$ TRIGGERSTRY_ATRY_Findexr r
after_cancelZafterr _delayed_open_completions)r r Zlastcharargsr r r try_open_completions_eventL s
z'AutoComplete.try_open_completions_eventc C s&