%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python3.8/idlelib/__pycache__/
Upload File :
Create Path :
Current File : //usr/local/lib/python3.8/idlelib/__pycache__/undo.cpython-38.pyc

U

q©ßa&+ã@s¤ddlZddlmZGdd„deƒZGdd„dƒZGdd„deƒZGd	d
„d
eƒZGdd„deƒZd
d„Ze	dkr ddl
mZeddddddlm
Z
e
eƒdS)éN)Ú	Delegatorc@s–eZdZdZdd„Zdd„Zdd„Zdd	„Zd
d„Zdd
„Z	dZ
dd„ZdZdd„Z
d#dd„Zd$dd„Zdd„Zdd„Zd%dd„Zdd „Zd!d"„ZdS)&Ú
UndoDelegatoriècCst |¡| ¡dS©N)rÚ__init__Ú
reset_undo©Úself©r	ú(/usr/local/lib/python3.8/idlelib/undo.pyrs
zUndoDelegator.__init__cCsj|jdk	r(| d¡| d¡| d¡t ||¡|dk	rf| d|j¡| d|j¡| d|j¡dS)Nz<<undo>>z<<redo>>z<<dump-undo-state>>)ÚdelegateZunbindrÚsetdelegateÚbindÚ
undo_eventÚ
redo_eventÚ
dump_event)rrr	r	r
rs



zUndoDelegator.setdelegatecCsvddlm}||jd|j…ƒtd|jddtd|jddtd|jddtd| ¡ƒ||j|jd…ƒd	S)
Nr)Úpprintzpointer:ú )Úendzsaved:z
can_merge:zget_saved():Úbreak)rÚundolistÚpointerÚprintÚsavedÚ	can_mergeÚ	get_saved)rÚeventrr	r	r
r(szUndoDelegator.dump_eventcCs&d|_d|_g|_d|_| d¡dS©Néÿÿÿÿré)Ú	was_savedrrÚ	undoblockÚ	set_savedrr	r	r
r2s
zUndoDelegator.reset_undocCs&|r|j|_nd|_d|_| ¡dS)NrF)rrrÚcheck_saved)rÚflagr	r	r
r!9s

zUndoDelegator.set_savedcCs|j|jkSr)rrrr	r	r
rAszUndoDelegator.get_savedNcCs
||_dSr)Úsaved_change_hook)rÚhookr	r	r
Úset_saved_change_hookFsz#UndoDelegator.set_saved_change_hookrcCs*| ¡}||jkr&||_|jr&| ¡dSr)rrr$)rZis_savedr	r	r
r"Ks

zUndoDelegator.check_savedcCs| t|||ƒ¡dSr)ÚaddcmdÚ
InsertCommand)rÚindexÚcharsÚtagsr	r	r
ÚinsertRszUndoDelegator.insertcCs| t||ƒ¡dSr)r'Ú
DeleteCommand©rÚindex1Úindex2r	r	r
ÚdeleteUszUndoDelegator.deletecCs |jdkrtƒ|_|j ¡dS©Nr)r ÚCommandSequenceÚ
bump_depthrr	r	r
Úundo_block_startcs
zUndoDelegator.undo_block_startcCsN|j d¡dkrJ|j}d|_t|ƒdkrJt|ƒdkr>| d¡}| |d¡dSr)r r4ÚlenÚgetcmdr'©rÚcmdr	r	r
Úundo_block_stophs
zUndoDelegator.undo_block_stopTcCsÔ|r| |j¡|jdkr*|j |¡dS|jrX|jdkrX|j|jd}| |¡rXdS|g|j|jd…<|j|jkr|d|_|jd|_t	|jƒ|j
krÂ|jd=|jd|_|jdkrÂ|jd|_d|_| ¡dS)NrrrT)Údorr ÚappendrrrÚmergerr6Úmax_undor")rr9ZexecuteZlastcmdr	r	r
r'ts(


zUndoDelegator.addcmdcCsP|jdkr| ¡dS|j|jd}| |j¡|jd|_d|_| ¡dS)NrrrF)rÚbellrÚundorrr"©rrr9r	r	r
r‹s
zUndoDelegator.undo_eventcCsR|jt|jƒkr| ¡dS|j|j}| |j¡|jd|_d|_| ¡dS)NrrF)rr6rr?Úredorrr"rAr	r	r
r–szUndoDelegator.redo_event)N)N)T)Ú__name__Ú
__module__Ú__qualname__r>rrrrr!rr$r&rr"r,r1r5r:r'rrr	r	r	r
rs$



rc@sReZdZdZddd„Zdd„Zdd„Zdd	„Zd
d„Zdd
„Z	dd„Z
dd„ZdS)ÚCommandNcCs,i|_i|_||_||_||_|r(||_dSr)Úmarks_beforeÚmarks_afterr/r0r*r+)rr/r0r*r+r	r	r
r§szCommand.__init__cCs>|jj}|j|j|j|jf}|jdkr2|dd…}|t|ƒS)Nr)Ú	__class__rCr/r0r*r+Úrepr)rÚsÚtr	r	r
Ú__repr__°s

zCommand.__repr__cCsdSrr	©rÚtextr	r	r
r;·sz
Command.docCsdSrr	rNr	r	r
rBºszCommand.redocCsdSrr	rNr	r	r
r@½szCommand.undocCsdSr2r	r8r	r	r
r=Àsz
Command.mergecCs4i}| ¡D]"}|dkr|dkr| |¡||<q|S)Nr,Úcurrent)Z
mark_namesr))rrOÚmarksÚnamer	r	r
Ú
save_marksÃs
zCommand.save_markscCs"| ¡D]\}}| ||¡qdSr)ÚitemsÚmark_set)rrOrQrRr)r	r	r
Ú	set_marksÊszCommand.set_marks)N)rCrDrEr+rrMr;rBr@r=rSrVr	r	r	r
rF¢s
	rFc@sNeZdZddd„Zdd„Zdd„Zdd	„Zd
d„Zej	ej
dZd
d„ZdS)r(NcCst ||d||¡dSr©rFr)rr/r*r+r	r	r
rÒszInsertCommand.__init__cCsv| |¡|_| |j¡|_| |jdd¡r6| d¡|_| |j|j|j¡| d|jt|jƒf¡|_	| |¡|_
dS)Nú>úend-1cz%s+%dc)rSrGr)r/Úcomparer,r*r+r6r0rHrNr	r	r
r;ÕszInsertCommand.docCs>| d|j¡| |j|j|j¡| ||j¡| d¡dS©Nr,)rUr/r,r*r+rVrHÚseerNr	r	r
rBàszInsertCommand.redocCs:| d|j¡| |j|j¡| ||j¡| d¡dSr[)rUr/r1r0rVrGr\rNr	r	r
r@çszInsertCommand.undocCs‚|j|jk	rdS|j|jkr dS|j|jkr0dSt|jƒdkrBdS|jrh| |jd¡| |j¡krhdS|j|_|j|j|_dS)NFrrT)rIr0r/r+r6r*Úclassifyr8r	r	r
r=îsÿzInsertCommand.mergeÚ_cCs||jkrdS|dkrdSdS)NÚalphanumericÚ
ÚnewlineÚpunctuation)r_)rÚcr	r	r
r]s

zInsertCommand.classify)N)
rCrDrErr;rBr@r=ÚstringÚ
ascii_lettersÚdigitsr_r]r	r	r	r
r(Ïs
r(c@s.eZdZd
dd„Zdd„Zdd„Zdd	„ZdS)r-NcCst |||dd¡dSrrWr.r	r	r
rszDeleteCommand.__init__cCs| |¡|_| |j¡|_|jr0| |j¡|_n| |jd¡|_| |jdd¡r^| d¡|_| |j|j¡|_| |j|j¡| |¡|_	dS)Nz +1crXrY)
rSrGr)r/r0rZÚgetr*r1rHrNr	r	r
r;szDeleteCommand.docCs:| d|j¡| |j|j¡| ||j¡| d¡dSr[)rUr/r1r0rVrHr\rNr	r	r
rBszDeleteCommand.redocCs:| d|j¡| |j|j¡| ||j¡| d¡dSr[)rUr/r,r*rVrGr\rNr	r	r
r@$szDeleteCommand.undo)N)rCrDrErr;rBr@r	r	r	r
r-s
r-c@sNeZdZdd„Zdd„Zdd„Zdd„Zd	d
„Zdd„Zd
d„Z	ddd„Z
dS)r3cCsg|_d|_dSr2)ÚcmdsÚdepthrr	r	r
r0szCommandSequence.__init__cCs>|jj}g}|jD]}| d|f¡q|dd |¡dS)Nz    %rz(
z,
z
))rIrCrhr<Újoin)rrKZstrsr9r	r	r
rM4s

zCommandSequence.__repr__cCs
t|jƒSr)r6rhrr	r	r
Ú__len__;szCommandSequence.__len__cCs|j |¡dSr)rhr<r8r	r	r
r<>szCommandSequence.appendcCs
|j|Sr)rh)rÚir	r	r
r7AszCommandSequence.getcmdcCs|jD]}| |¡qdSr)rhrB)rrOr9r	r	r
rBDs
zCommandSequence.redocCs.|jdd…}| ¡|D]}| |¡qdSr)rhÚreverser@)rrOrhr9r	r	r
r@HszCommandSequence.undorcCs|j||_|jSr)ri)rZincrr	r	r
r4NszCommandSequence.bump_depthN)r)rCrDrErrMrkr<r7rBr@r4r	r	r	r
r3,sr3c
sddlm}m}m}ddlm}||ƒ}| d¡tt| 	¡ 
d¡dd…ƒ\}}| 	d||df¡||d	d
}| ¡| ¡||ƒ}	t
ƒ‰|	 ˆ¡||d‡fdd
„d}
|
jdd||d‡fdd
„d}|jdd||d‡fdd
„d}|jdddS)Nr)ÚToplevelÚTextÚButton)Ú
PercolatorzTest UndoDelegatorú+rz+%d+%dé¯é
)ZheightZUndocs
ˆ d¡Sr)rr	©Údr	r
Ú<lambda>bóz!_undo_delegator.<locals>.<lambda>)rOZcommandÚleft)ZsideZRedocs
ˆ d¡Sr)rr	rur	r
rwdrxZDumpcs
ˆ d¡Sr)rr	rur	r
rwfrx)ÚtkinterrnrorpZidlelib.percolatorrqÚtitleÚmapÚintZgeometryÚsplitÚpackZ	focus_setrZinsertfilter)
ÚparentrnrorprqZundowinÚxÚyrOÚpr@rBÚdumpr	rur
Ú_undo_delegatorSs$
 
r…Ú__main__)Úmainzidlelib.idle_test.test_undoéF)Ú	verbosityÚexit)Úrun)rdZidlelib.delegatorrrrFr(r-r3r…rCZunittestr‡Zidlelib.idle_test.htestr‹r	r	r	r
Ú<module>s-9$'

Zerion Mini Shell 1.0