B
X–ûЬ$ã @ sœ d Z ddlZddlT ddlmZ ddlmZmZ ddlm Z dZ
dZed fZd
Z
dZdZd
ZdZdZdZG dd„ dƒZedkr˜ddlmZ edddd dS )zH
An auto-completion window for IDLE, used by the autocomplete extension
é N)Ú*)Ú Scrollbar)ÚFILESÚATTRS)ÚMC_SHIFTz<>z
z
z<>)zzzz zz
z
z zz
zz!<>zzzzc @ sŒ e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd d
„ Zdd„ Zd
d„ Z dd„ Z
dd„ Zdd„ Zdd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!S )"ÚAutoCompleteWindowc C s‚ || _ d | _ | _| _d | _| _d | _d | _d | _d | _ d | _
d | _d | _d | _
| _ | _ | _ | _| _d| _d| _d S )NF)ÚwidgetÚautocompletewindowÚlistboxÚ scrollbarÚorigselforegroundÚorigselbackgroundÚcompletionsÚmorecompletionsÚmodeÚstartÚ
startindexÚlasttypedstartÚuserwantswindowZhideidÚ
keypressidÚlistupdateidÚwinconfigidÚkeyreleaseidÚ
doubleclickidÚlastkey_was_tabÚis_configuring)Úselfr © r ú;/opt/alt/python37/lib64/python3.7/idlelib/autocomplete_w.pyÚ__init__ s $zAutoCompleteWindow.__init__c C s¬ t t| jƒt|ƒƒ}d}x&||k r>| j| || kr>|d7 }qW |t| jƒk rv| j d| j|f d| jt| jƒf ¡ |t|ƒk r¢| j d| j|f ||d … ¡ || _d S )Nr é z%s+%dc)ÚminÚlenr r Údeleter Úinsert)r ÚnewstartÚmin_lenÚir r r Ú
_change_start> s z AutoCompleteWindow._change_startc C sX d}t | jƒ}x4||krB|| d }| j| |kr8|}q|d }qW t|t | jƒd ƒS )zFind the first index in self.completions where completions[i] is
greater or equal to s, or the last index if there is no such.
r é r )r" r r! )r Úsr' ÚjÚmr r r Ú_binary_searchK s
z!AutoCompleteWindow._binary_searchc
C sö | |¡}| j| dt|ƒ… |kr(|S |d }t| jƒ}x@||krz|| d }| j| dt|ƒ… |krp|}q<|d }q