Hacked By AnonymousFox
�
��f c @ s~ d Z d d l m Z Gd d � d � Z e d k rz d d l m Z d g e _ d d l m Z e d d
d d d �n d
S( u9 Implement Idle Shell history mechanism with History classi ( u idleConfc B sV | Ee Z d Z d Z d d � Z d d � Z d d � Z d d � Z d
d � Z d S(
u Historyu@ Implement Idle Shell history mechanism.
store - Store source statement (called from PyShell.resetoutput).
fetch - Fetch stored statement matching prefix already entered.
history_next - Bound to <<history-next>> event (default Alt-N).
history_prev - Bound to <<history-prev>> event (default Alt-P).
c C sl | | _ g | _ d | _ d | _ t j d d d d d � | _ | j d | j � | j d | j
� d S( ud Initialize data attributes and bind event methods.
.text - Idle wrapper of tk Text widget, with .bell().
.history - source statements, possibly with multiple lines.
.prefix - source already entered at prompt; filters history list.
.pointer - index into history.
.cyclic - wrap around history list (or not).
u mainu Historyu cyclici u boolu <<history-previous>>u <<history-next>>N( u textu historyu Noneu prefixu pointeru idleConfu GetOptionu cyclicu bindu history_prevu history_next( u selfu text( ( u8 /opt/alt/python33/lib64/python3.3/idlelib/IdleHistory.pyu __init__
s u History.__init__c C s | j d d � d S( u4 Fetch later statement; start with ealiest if cyclic.u reverseu breakF( u fetchu False( u selfu event( ( u8 /opt/alt/python33/lib64/python3.3/idlelib/IdleHistory.pyu history_next s u History.history_nextc C s | j d d � d S( u0 Fetch earlier statement; start with most recent.u reverseu breakT( u fetchu True( u selfu event( ( u8 /opt/alt/python33/lib64/python3.3/idlelib/IdleHistory.pyu history_prev# s u History.history_prevc C sL t | j � } | j } | j } | d k r� | d k r� | j j d d d � ss | j j d d � | j | k r� d } } | j j d d � q� n | d k s� | d k r� | j j d d � } | r� | } q� | j r� d } q� | j j
� d Sn t | � } x | | rd n d 7} | d k s5| | k r�| j j
� | j r\| d k r\d S| j j d d � | k r�| j j d d � | j j d | � n d } } Pn | j | } | d | � | k rt | � | k r| j j d d � | j j d | � Pqq| j j
d � | j j d d d
� | | _ | | _ d S(
u+ Fetch statememt and replace current line in text widget.
Set prefix and pointer as needed for successive fetches.
Reset them to None, None when returning to the start line.
Sound bell when return to start line or cannot leave a line
because cyclic is False.
u insertu !=u end-1cu iomarki Ni u selu 1.0u endi����i����( u lenu historyu pointeru prefixu Noneu textu compareu getu mark_setu cyclicu bellu deleteu insertu seeu
tag_remove( u selfu reverseu nhistu pointeru prefixu nprefixu item( ( u8 /opt/alt/python33/lib64/python3.3/idlelib/IdleHistory.pyu fetch( sJ "
( u
History.fetchc C sp | j � } t | � d k rZ y | j j | � Wn t k
rF Yn X| j j | � n d | _ d | _ d S( u. Store Shell input statement into history list.i N( u stripu lenu historyu removeu
ValueErroru appendu Noneu pointeru prefix( u selfu source( ( u8 /opt/alt/python33/lib64/python3.3/idlelib/IdleHistory.pyu storeY s
u
History.storeN( u __name__u
__module__u __qualname__u __doc__u __init__u history_nextu history_prevu fetchu store( u
__locals__( ( u8 /opt/alt/python33/lib64/python3.3/idlelib/IdleHistory.pyu History s 1u Historyu __main__( u supportu gui( u mainu"