python (3.11.7)

(root)/
lib/
python3.11/
idlelib/
__pycache__/
searchengine.cpython-311.opt-2.pyc

e	ddlZddlmZmZmZddlmZdZGddZdZdZ	d	Z
ed
krddlm
Z
e
dd
dSdS)N)	StringVar
BooleanVarTclError)
messageboxcZ	t|dst||_|jS)N
_searchengine)hasattrSearchEnginer)roots H/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/idlelib/searchengine.pygetr
s4
4))0)$//creZdZ	dZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dd
ZddZddZddZdS)r
c	||_t|d|_t|d|_t|d|_t|d|_t|d|_t|d|_dS)NFT)	rrpatvarrrevarcasevarwordvarwrapvarbackvar)selfrs  r__init__zSearchEngine.__init__sz		b))e,,
!$..!$..!$--!$..rc4|jSN)rr
rs rgetpatzSearchEngine.getpat%s{   rc:|j|dSr)rsetrpats  rsetpatzSearchEngine.setpat(src4|jSr)rr
rs risrezSearchEngine.isre+sz~~rc4|jSr)rr
rs riscasezSearchEngine.iscase.|!!!rc4|jSr)rr
rs riswordzSearchEngine.isword1r'rc4|jSr)rr
rs riswrapzSearchEngine.iswrap4r'rc4|jSr)rr
rs risbackzSearchEngine.isback7r'rc	|rtj|}||dSr)r$reescaper"r s  rsetcookedpatzSearchEngine.setcookedpat<s:+99;;	!)C..CCrc|}|stj|}|rd|z}|S)Nz\b%s\b)rr$r/r0r)r s  rgetcookedpatzSearchEngine.getcookedpatCsJkkmmyy{{	!)C..C;;==	"c/C
rc	|}|s||ddS|}d}|s|tjz}	t	j||}n>#tj$r,}|||j|j	Yd}~dSd}~wwxYw|S)NzEmpty regular expressionr)
rreport_errorr3r&r/
IGNORECASEcompileerrormsgpos)rr!flagsproges     rgetprogzSearchEngine.getprogKs0kkmm	c#=>>>4!!{{}}	*BM)E	:c5))DDx			c15!%00044444	s*BB;!B66B;Ncdt|z}|r|dzt|z}||dzt|z}tjd||jdS)NzError: z

Pattern: z	
Offset: zRegular expression error)master)strr	showerrorr)rr!r9cols    rr5zSearchEngine.report_error\sw#c(("	1
%C0C?$s3xx/C7"49	6	6	6	6	6	6rrc	|s|}|sdS|j}t|\}}|r4|r|}n|}t|\}}	|||||	||}
n3|r|}n|}t|\}}	|||||	||}
|
Sr)r>rr

get_selectionr-get_line_colsearch_backwardsearch_forward)rtextr<okwrapfirstlaststartlinerCress           rsearch_textzSearchEngine.search_textfs	"	<<>>D
t|!!#D))t;;==
	G
$U++ID#&&tT4dBGGCC
$U++ID#%%dD$T2FFC
rcrd}|}|d|zd|dzz}	|	r||	dd|}
|
r|s|
|kr||
fS|dz}|r||krnEd}d}|d|zd|dzz}	|	s|rd}d}d}|dd}	|	dS)Nr%d.0z1.0z2.0)r
searchend)rrIr<rOrCrKrJwrapped	startlinecharsms           rrHzSearchEngine.search_forwards	$$q&(9::	/E#2#J,,A
##37N!8D
4)++CBHHVd]Fd1f,=>>E
/T
/..	/ trcd}|}|d|zd|dzz}		t||	dd|}
|
r|s|
|kr||
fS|dz
}|r||krnd}|dkrG|snvd}d}|d}t	t
|d\}}|d|zd|dzz}	t|	dz
}dS)NrrSrTTrUzend-1c.)r
search_reverserNindexmapintsplitlen)rrIr<rOrCrKrJrXrYrZr[r:s            rrGzSearchEngine.search_backwards	$$q&(9::	!tU3B3Z55A
##S7N!8D
4)++Bqyyjj**SYYs^^44	cHHVd]Fd1f,=>>Ee**q.C#	!$trr)Nr)r)__name__
__module____qualname__rrr"r$r&r)r+r-r1r3r>r5rQrHrGrrr
r
s
F///!!!   """"""""""""
"6666&&&&P,rr
c	||}|sdSd}|\}}||krO||krI|}||kr|dz}|||}|sn#|\}}||kr||kI|S)NrT)rVspan)r<rZrCr[foundijs       rr^r^s	
EAtE6688DAq
c''a3hh66!AKKq!!	vvxx1c''a3hhLrc		|d}|d}n#t$rdx}}YnwxYw|s|d}|s|}||fS)Nz	sel.firstzsel.lastinsert)r_r)rIrLrMs   rrErEs

;''zz*%%%

8$$$;s*.??cb	tt|d\}}||fS)Nr])r`rarb)r_rOrCs   rrFrFs.BCS))**ID#9r__main__)mainz#idlelib.idle_test.test_searchengine)	verbosity)r/tkinterrrrrr
r
r^rErFrdunittestrqrgrr<module>rvs-				3333333333			ggggggggT.zD	.!<<<<<<r