
    z%i                     T    	 d dl mZ  G d d      Zedk(  rd dlmZ  eddd	       y
y
)    )idleConfc                   ,    e Zd Z	 d Zd Zd Zd Zd Zy)Historyc                     	 || _         g | _        d | _        d | _        t	        j
                  ddddd      | _        |j                  d| j                         |j                  d| j                         y )Nmainr   cyclic   boolz<<history-previous>>z<<history-next>>)
texthistoryprefixpointerr   	GetOptionr   bindhistory_prevhistory_next)selfr   s     C/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/idlelib/history.py__init__zHistory.__init__   si    	 	((HaP		($*;*;<		$d&7&78    c                 *    	 | j                  d       y)NFreversebreakfetchr   events     r   r   zHistory.history_next   s    ?

5
!r   c                 *    	 | j                  d       y)NTr   r   r   r   s     r   r   zHistory.history_prev$   s    :

4
 r   c                 t   	 t        | j                        }| j                  }| j                  }|k|i| j                  j                  ddd      s,| j                  j                  dd      | j                  |   k7  r d x}}| j                  j                  dd       ||K| j                  j                  dd      }|r|}n*| j                  rd}n| j                  j                          y t        |      }	 ||rdndz  }|dk  s||k\  r| j                  j                          | j                  s|dk  ry | j                  j                  dd      |k7  r9| j                  j                  dd       | j                  j                  d|d       d x}}n`| j                  |   }|d | |k(  rHt        |      |kD  r:| j                  j                  dd       | j                  j                  d|d       n| j                  j                  d       | j                  j                  d	d
d       || _        || _        y )Ninsertz!=zend-1ciomarkr	   r   stdinselz1.0end)lenr   r   r   r   comparegetmark_setr   belldeleter!   see
tag_remove)r   r   nhistr   r   nprefixitems          r   r   zHistory.fetch)   s   	 DLL!,,6#5yy  4:IIMM(H5g9NN#''&		""8X6?fnYY]]8X6F;; GIINN$f+Wr!+G{g.		 {{w{yy}}Xx8FB		((8<		((67C'++Gf<<(DHW~'CI,?		  84		  49! " 			h		UE51r   c                     	 |j                         }t        |      dkD  r7	 | j                  j                  |       | j                  j                  |       d | _        d | _        y # t        $ r Y 5w xY w)N   )stripr'   r   remove
ValueErrorappendr   r   )r   sources     r   storezHistory.storeZ   sh    8v;?##F+ LL'	  s   A& &	A21A2N)__name__
__module____qualname__r   r   r   r   r9    r   r   r   r      s!    9"

/br   r   __main__)r   zidlelib.idle_test.test_historyr3   F)	verbosityexitN)idlelib.configr   r   r:   unittestr   r=   r   r   <module>rC      s7    ; #_ _D z	)QUC r   