File: //opt/alt/python35/lib64/python3.5/idlelib/__pycache__/IdleHistory.cpython-35.opt-2.pyc
���]�  �               @   sY   d  d l  m Z Gd d �  d � Z e d k rU d  d l m Z e d d d d	 d
 �d S)�    )�idleConfc               @   sL   e  Z d  Z d d �  Z d d �  Z d d �  Z d d �  Z d	 d
 �  Z d S)�Historyc             C   sl   | |  _  g  |  _ d  |  _ d  |  _ t j d d d d d � |  _ | j d |  j � | j d |  j	 � d  S)N�mainr   �cyclic�   �boolz<<history-previous>>z<<history-next>>)
�text�history�prefix�pointerr   Z	GetOptionr   �bind�history_prev�history_next)�selfr   � r   �0/opt/alt/python35/lib64/python3.5/IdleHistory.py�__init__
   s    					zHistory.__init__c             C   s   |  j  d d � d S)N�reverseF�break)�fetch)r   �eventr   r   r   r      s    zHistory.history_nextc             C   s   |  j  d d � d S)Nr   Tr   )r   )r   r   r   r   r   r
   #   s    zHistory.history_prevc             C   s;  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 � | d  k s� | d  k r� |  j j d d � } | r� | } n# |  j r� d
 } n |  j j	 �  d  St  | � } x| | r
d n d 7} | d k  s,| | k r�|  j j	 �  |  j rS| d k  rSd  S|  j j d d � | k r�|  j j
 d d � |  j j d | � d  } } P|  j | } | d  | � | k r� t  | � | k r� |  j j
 d d � |  j j d | � Pq� W|  j j d � |  j j
 d d d	 � | |  _ | |  _ d  S)N�insertz!=zend-1cZiomarkr   r   Zselz1.0�end���r   )�lenr	   r   r
   r   Zcompare�getZmark_setr   Zbell�deleter   ZseeZ
tag_remove)r   r   Znhistr   r
   Znprefix�itemr   r   r   r   (   sJ    		"
			
(	z
History.fetchc             C   sm   | j  �  } t | � d k rW y |  j j | � Wn t k
 rF Yn X|  j j | � d  |  _ d  |  _ d  S)N�   )�stripr   r	   �remove�
ValueError�appendr   r
   )r   �sourcer   r   r   �storeY   s    
	z
History.storeN)�__name__�
__module__�__qualname__r   r   r
   r   r$   r   r   r   r   r      s
   1r   �__main__)r   z"idlelib.idle_test.test_idlehistory�	verbosityr   �exitFN)Zidlelib.configHandlerr   r   r%   Zunittestr   r   r   r   r   �<module>   s   a