python (3.12.0)

(root)/
lib/
python3.12/
idlelib/
__pycache__/
config.cpython-312.opt-2.pyc

̑e$	ddlmZddlZddlZddlmZddlZGddeZGddeZ	Gdd	eZ
Gd
deZGdd
eZGddZ
e
ZeZdZGddeZdZedk(rddlmZedddyy))ConfigParserN)FontceZdZy)InvalidConfigTypeN__name__
__module____qualname__B/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/idlelib/config.pyrr#rrceZdZy)InvalidConfigSetNrrrr
rr$rrrceZdZy)InvalidThemeNrrrr
rr%rrrc*eZdZ	ddZddZdZdZy)IdleConfParserNcD	||_tj||dy)NF)defaultsstrict)filer__init__)selfcfgFilecfgDefaultss   r
rzIdleConfParser.__init__+s"		d[Grc	|j||s|S|dk(r|j||S|dk(r|j||S|j|||S)Nboolintraw)
has_option
getbooleangetintget)rsectionoptiontypedefaultr!s      r
GetzIdleConfParser.Get2sa	w/N6>??7F33
U];;w//88GV855rcL	|j|r|j|SgSN)has_sectionoptionsrr&s  r

GetOptionListzIdleConfParser.GetOptionListCs'>G$<<((IrcV	|jr|j|jyyr,)rreadrs r
LoadzIdleConfParser.LoadJs!099IIdii rr,)NNF)rr	r
rr*r0r4rrr
rr'sH6"!rrc2eZdZ	dZdZdZdZdZdZy)IdleUserConfParserc	|j||r*|j|||k(ry|j|||y|j|s|j	||j|||y)NFT)r"r%setr-add_section)rr&r'values    r
	SetOptionzIdleUserConfParser.SetOptionTso	??7F+xx(E1&%0##G,  )HHWfe,rcL	|j|r|j||Sy)NF)r-
remove_option)rr&r's   r
RemoveOptionzIdleUserConfParser.RemoveOptiones-	G$%%gv66rcL	|j|s|j|yyr,)r-r9r/s  r

AddSectionzIdleUserConfParser.AddSectionns&+(W%)rcv	|jD]%}|j|r|j|'yr,)sectionsr0remove_sectionr/s  r
RemoveEmptySectionsz&IdleUserConfParser.RemoveEmptySectionsss63}}	-G%%g.##G,	-rcF	|j|jSr,)rDrBr3s r
IsEmptyzIdleUserConfParser.IsEmptyys C  "==?""rc	|j}|r|ddk7r|js*	t|d}|5|j
|dddytjj|jr t	j|jyyyy#t$r$t	j
|t|d}YwxYw#1swYyxYw)Nr#w)
rrFopenOSErrorosunlinkwritepathexistsremove)rfnamers   r
SavezIdleUserConfParser.Save~s	
		U1X_<<>/"5#.G(JJw'((		*		$))$+%5/IIe$"5#.G/((sBC*C
CCN)	rr	r
r;r>r@rDrFrSrrr
r6r6Os%"&
-#
%rr6ceZdZ	ddZdZdZ		d dZdZdZdZ	d	Z
d
ZdZdZ
ed
Z		d!dZdZdZdZdZdZdZdZdZdZhdZd"dZdZdZdZdZdZ y)#IdleConfcd|_i|_i|_i|_|s!|j	|jyy)N)main	highlightkeys
extensions)config_types
defaultCfguserCfgcfgCreateConfigHandlersLoadCfgFiles)r_utests  r
rzIdleConf.__init__sAG%%'rc		tjjt}tj
rdn|j
x|_}|jD]z}ttjj|d|d|j|<ttjj|xsdd|d|j|<|y)Nzconfig-z.defrHz.cfg)rLrOdirname__file__idlelibtesting
GetUserCfgDiruserdirr[rjoinr\r6r])ridledirricfg_types    r
r_zIdleConf.CreateConfigHandlerss?''//(+'.D<N<N<PPw))	HH(6Wz&>?)ADOOH%%7W^wxj-EF&HDLL"	Hrc	d}tjjd}|dk7rUtjj|s6tj
s$d|zdz}	t
|tjd}|dk(rtj}tjj||}tjj|s	tj||S|S#t$rYwxYw#t$rUtj
s>d|zdz}	t
|tjt#t$rYtwxYwtwxYw)Nz.idlerc~z.
 Warning: os.path.expanduser("~") points to
 z,
 but the path does not exist.rz2
 Warning: unable to create user config directory
z(
 Check path and permissions.
 Exiting!
)rLrO
expanduserrPrfrgprintsysstderrrKgetcwdrjmkdir
SystemExit)rcfgDiruserDirwarns    r
rhzIdleConf.GetUserCfgDirs>	''$$S)c>77>>'*N#$&HIDd4c>iikG'',,w/ww~~g&

!!w)#
!R#$&STDd4! #    
!sB C/C>/	C;:C;>!E E;E	E
EE
ENc
		|j|j||r"|j|j||||S		|j
|j||r"|j
|j||||S	|rd|d|d|}t	|||||S#t$r>d|d|d|d|j|j|||}t	||||YwxYw#t$rYrwxYw)	N)r(r!z5
 Warning: config.py - IdleConf.GetOption -
 invalid z  value for configuration option z
 from section z: r zU
 Warning: config.py - IdleConf.GetOption -
 problem retrieving configuration option .
 returning default value: )r]r"r*
ValueError_warnr\)	r
configTyper&r'r)r(warn_on_defaultr!warnings	         r
	GetOptionzIdleConf.GetOptions2
	
	8||J'227FC||J/33GV9=34HHD	z*55gfEz266d7==F
	2G

':w7+	8fg||J/33GV3M	OG

':w7
	8		s&AB%AC/%AC,+C,/	C;:C;cF	|j|j|||yr,)r]r;)rr~r&r'r:s     r
r;zIdleConf.SetOptions >Z **7FEBrc	||jvrtd|dk(r|j|}|jS|dk(r|j|}|jSt	d)NzInvalid configType specifieduserr)Invalid configSet specified)r[rr]r\rrB)r	configSetr~	cfgParsers    r
GetSectionListzIdleConf.GetSectionLists	
d///#$BCCZ0I
!!##	)
#ooj1I!!####@AArc	|jdj|rdnd}|j||}||dz}|dk(rd}||dz}||dS)	NrXr)rz-foregroundcursornormalz-background)
foreground
background)r\r-GetThemeDict)rthemeelementr^
theme_dictforebacks       r
GetHighlightzIdleConf.GetHighlightsr	
!OOK8DDUKy	&&sE2
'M12hG'M12"$77rc	|dk(r|jd}n |dk(r|jd}ntdiddddd	dd
dddddd
dddddddddddddddddddddddddddddddddddd}|D][}|j||s-|j	dsd|d|d||}t|d|||j
||||||<]|S)NrrXr)zInvalid theme type specifiedznormal-foregroundz#000000znormal-backgroundz#ffffffzkeyword-foregroundzkeyword-backgroundzbuiltin-foregroundzbuiltin-backgroundzcomment-foregroundzcomment-backgroundzstring-foregroundzstring-backgroundzdefinition-foregroundzdefinition-backgroundzhilite-foregroundzhilite-backgroundgrayzbreak-foregroundzbreak-backgroundzhit-foreground)zhit-backgroundzerror-foregroundzerror-backgroundzcontext-foregroundzcontext-backgroundzlinenumber-foregroundzlinenumber-backgroundzcursor-foregroundzstdout-foregroundzstdout-backgroundzstderr-foregroundzstderr-backgroundzconsole-foregroundzconsole-background)zcontext-zlinenumber-zL
 Warning: config.IdleConf.GetThemeDict -
 problem retrieving theme element z
 from theme z.
 returning default color: r))r]r\rr"
startswithr}r*)rr(	themeNamerrrrs       r
rzIdleConf.GetThemeDict!s	6>[1I
Y
4I=>>!#I!#I!$Y!%Y!%Y	!
%Y!%Y
!%Y!$I!$I!(	!(	!$I!$F!#9!#9! !!!""+#,#,%.%.(1(1$-$-$-$-$-%.%.A!D	@G((G<&&'BC$Yg	@
g{Iw?&]]wg+@E'N	@rc&	|jdS)NThemecurrent_colors_and_keysr3s r
CurrentThemezIdleConf.CurrentThemeesC++G44rc&	|jdS)NKeysrr3s r
CurrentKeyszIdleConf.CurrentKeysis>++F33rc4	|dk(rdnd}|jd|ddd}d	}|r|jd|d
d	}|s|jd|dd	}|r0|r|jn|j}||j|r|S|dk(rd
S|j	S)NrrXrYrWr)rTr(r)rcname2rnamezIDLE Classic)rr\r]r-default_keys)rr&cfgnamer)rsources      r
rz IdleConf.current_colors_and_keysms	.")G!3+..)&,d!<>>&'7B>GD>>&'62>FD(/T__T\\Fg**40!(G!3~L9J9J9LLrcZtjdddk(rytjdk(ryy)NwinzIDLE Classic WindowsdarwinzIDLE Classic OSXzIDLE Modern Unix)rrplatformrrr
rzIdleConf.default_keyss*<<u$)
\\X
%%%rc		|j|jdd}|j|jdd}|D]}||vs|j|dD]}|j||rhg}|D]_}|j	d|ddds|s|r1|rd	}nd
}|j	d||ddds=|j|O|j|a|S|S)
Nr)rZr)AutoCompleteCodeContextFormatParagraph
ParenMatchenableTrr)r(
enable_editorenable_shellF)r)r(r)RemoveKeyBindNamesrappendrQr)	ractive_onlyeditor_only
shell_onlyextns	userExtnsextnactiveExtnsr's	         r

GetExtensionszIdleConf.GetExtensionss	''##I|<>++##FL9;		#D5 T"	#5	DLL	
K
1>>,h'-"/#j&%4F%3F>>,V26V:?*A(..t4#**40
1LrcR	|Dcgc]}|jdr|c}Scc}w)N)	_bindings_cfgBindings)endswith)rextnNameListns   r
rzIdleConf.RemoveKeyBindNamess%D'Yaqzz:W/XYYYs$$c	d}d|zdz}|jdD] }|j|D]
}||k(s	|}"|S)N<<>>rr)rGetExtensionKeys)rvirtualEventextNamevEventrevents      r
GetExtnNameForEventzIdleConf.GetExtnNameForEventsg	
$t+&&1&5	#D..t4
#F?"G
#	#rc	|dz}|j}i}|jdj|r7|jdj|}|D]}d|zdz}||}|||<|S)NrrZrr)GetCurrentKeySetr\r-r0)	r
extensionNamekeysName
activeKeysextKeys
eventNames	eventNamerbindings	         r
rzIdleConf.GetExtensionKeyss	!>1**,
??<(44X>6DDXNJ'
)	y(4/$U+!(
)rc	|dz}i}|jdj|rU|jdj|}|D]2}|jd||dj	}d|zdz}|||<4|S)NrrZrcrrr)r\r-r0rsplit)rrrrrrrrs        r
__GetRawExtensionKeyszIdleConf.__GetRawExtensionKeyss	!/??<(44X>6DDXNJ'
)	..$h	2)GGLuwy(4/!(	
)
rc	|dz}|j|}|jdj|rU|jdj|}|D]2}|j	d||dj}d|zdz}|||<4|S)NrrZrcrrr)rr\r-r0rr)rr	bindsNameextBindsrrrrs        r
GetExtensionBindingszIdleConf.GetExtensionBindingss	"K/	((7??<(44Y?6DDYOJ'
*	..$iB)HHMy(4/")	
*rcZ	|dd}|jd||ddj}|S)NrYrcF)r)r)rr)r
keySetNameeventStrrrs     r

GetKeyBindingzIdleConf.GetKeyBindingsA	
QrN	..Y16!88=	rc	|j|j}tjdk(rB|j	D]/\}}|Dcgc]}|jdd}}||k7s+|||<1|Scc}w)Nrz<Alt-z<Option-)	GetKeySetrrrritemsreplace)rresultkvxv2s      r
rzIdleConf.GetCurrentKeySets~9 0 0 23<<8#
#1?@B!qyy*5BB7 "F1I
#

	CsA8c	|j|}|jd}|D]?}|j|}|s|D]$}|||jvrd||<||||<&A|S)Nrrc)GetCoreKeysr_IdleConf__GetRawExtensionKeysvalues)rrkeySetrrrrs       r
rzIdleConf.GetKeySet+s	
!!*-((Q(7	3D006G$3Eu~8)+$+ENF5M	3	3
rc4	d|zdz|jvS)Nrr)r)rrs  r

IsCoreBindingzIdleConf.IsCoreBinding=s'	
\!$&4+;+;+===r>	<<run-custom>><<run-module>><<expand-word>><<flash-paren>><<zoom-height>><<check-module>><<format-paragraph>><<force-open-calltip>><<force-open-completions>>c		idddgdddgddd	gd
ddgd
dgddgddgddgddgddgddgddgddgddgdd gd!d"gd#d$gid%d&gd'd(gd)d*gd+d,gd-d.gd/d0gd1d2gd3d4gd5d6gd7d8gd9d:gd;d<gd=d>gd?d@dAgdBdCgdDdEgdFdGgidHdIgdJdKgdLdMgdNdOdPgdQdRgdSdTgdUdVgdWdXgdYdZgd[d\gd]d^gd_d`gdadbgdcddgdedfgdgdhgdidjgdkgdlgdmgdngdogdpgdqgdr}|r|jdsj|s3|jdsj|sdt|du}t|ds||S|D]G}|j	||}|r|||<||j
vs,dv|dw|dx||}t|ds||I|S)yNz<<copy>>z<Control-c>z<Control-C>z<<cut>>z<Control-x>z<Control-X>z	<<paste>>z<Control-v>z<Control-V>z<<beginning-of-line>>z<Control-a>z<Home>z<<center-insert>>z<Control-l>z<<close-all-windows>>z<Control-q>z<<close-window>>z<Alt-F4>z<<do-nothing>>z<<end-of-file>>z<Control-d>z<<python-docs>>z<F1>z<<python-context-help>>z
<Shift-F1>z<<history-next>>z<Alt-n>z<<history-previous>>z<Alt-p>z<<interrupt-execution>>z<<view-restart>>z<F6>z<<restart-shell>>z<Control-F6>z<<open-class-browser>>z<Alt-c>z<<open-module>>z<Alt-m>z<<open-new-window>>z<Control-n>z<<open-window-from-file>>z<Control-o>z<<plain-newline-and-indent>>z<Control-j>z<<print-window>>z<Control-p>z<<redo>>z<Control-y>z<<remove-selection>>z<Escape>z<<save-copy-of-window-as-file>>z
<Alt-Shift-S>z<<save-window-as-file>>z<Alt-s>z<<save-window>>z<Control-s>z<<select-all>>z<Alt-a>z<<toggle-auto-coloring>>z<Control-slash>z<<undo>>z<Control-z>z<<find-again>>z<Control-g>z<F3>z<<find-in-files>>z<Alt-F3>z<<find-selection>>z<Control-F3>z<<find>>z<Control-f>z<<replace>>z<Control-h>z
<<goto-line>>z<Alt-g>z<<smart-backspace>>z<Key-BackSpace>z<<newline-and-indent>>z<Key-Return>z<Key-KP_Enter>z<<smart-indent>>z	<Key-Tab>z<<indent-region>>z<Control-Key-bracketright>z<<dedent-region>>z<Control-Key-bracketleft>z<<comment-region>>z<Alt-Key-3>z<<uncomment-region>>z<Alt-Key-4>z<<tabify-region>>z<Alt-Key-5>z<<untabify-region>>z<Alt-Key-6>z<<toggle-tabs>>z<Alt-Key-t>z<<change-indentwidth>>z<Alt-Key-u>z<<del-word-left>>z<Control-Key-BackSpace>z<<del-word-right>>z<Control-Key-Delete>rz<Control-Key-space>rz<Alt-Key-slash>z<Control-Key-backslash>z<Control-Key-0>z<Alt-Key-q>z<Key-F5>z<Shift-Key-F5>z<Alt-Key-x>z<Alt-Key-2>)rrrrrrrrYz7
 Warning: config.py - IdleConf.GetCoreKeys -
 key set z( is not defined, using default bindings.zX
 Warning: config.py - IdleConf.GetCoreKeys -
 problem retrieving key binding for event z
 from key set r{)r]r-r\r}rformer_extension_events)rrkeyBindingsrrrs      r
rzIdleConf.GetCoreKeysOs	;
6;
}5;
-7;
$mX%>	;

 -;
$m_
;
;
}o;

;
x;
&~;
;
#YK;
&
;
; 
 .!1!;"
%yk#;$
	{%;&
"M?';(
(-);*
+]O+;,
-;.
/;0
#ZL1;2
./@3;4
&	{5;6

7;8
yk9;:
'):(;;;<
=;>
}f5?;@
 *A;B
!>"2C;D
E;F
M?G;H
i[I;J
"$5#6K;L
%~7G&HM;N

O;P
 ">!?Q;R
 "=!>S;T
!=/U;V
#]OW;X
 -Y;Z
"M?[;\

];^
%}o_;`
 ";!<a;b
!#9":c;d
)+@*Ae;f
 12g;h(A&A 12%2O)l/0!. -u;zLL(44Z@OOF+77
C "
gvz2 )
BE"00UCG-4E*d&B&BB#JE0B	D gvz5A
Brc	g}|dk(r|jd}n |dk(r|jd}ntd|jd}|D]}|j	d|d}|jddk(rd	}d	}n7|j
d}|d
j}|dj}|sj|sm|j|||f|jd
|S)NrrWr)r	HelpFiles;rrcrrc|dS)Nrr)rs r
<lambda>z1IdleConf.GetExtraHelpSourceList.<locals>.<lambda>s
qtr)key)
r]r\rr0r*findrstriprsort)	rrhelpSourcesrr.r'r:menuItemhelpPaths	         r
GetExtraHelpSourceListzIdleConf.GetExtraHelpSourceLists	V,I
)
#/I"#@AA''4
	AF--VS-AEzz#"$kk#&q)q)H""Xhv$>@
	A	^,rcN	|jd|jdz}|S)Nr)r)r)rallHelpSourcess  r
GetAllExtraHelpSourcesListz#IdleConf.GetAllExtraHelpSourcesLists2	55i@++F34rc	|j||dd}|j||ddd}|j||dd	d
}|dk(r<tdd
|}tj|}|d}|d}|d	krd}|ddk(}|||rdfSdfS)Nfontcourierrz	font-sizer10rz	font-boldrrrTkFixedFontT)rrProotfamilysize
weightboldr)rractual)	rrr~r&rrrf
actualFonts	         r
GetFontzIdleConf.GetFonts		
GVYO~~j';U&*,~~j';#)+m#-4@AQJ)Ff%Dqyh'61Df;;(;;rc	|jD]<}|j|j|j|j>yr,)r\r4r]rr
s  r
r`zIdleConf.LoadCfgFilessB'??	%COOC %%'LL""$	%rcb	|jD]}|j|j!yr,)r]rSr%s  r
SaveUserCfgFileszIdleConf.SaveUserCfgFiless-<<<	%CLL""$	%r)F)NNTF)TFFr,)!rr	r
rr_rhrr;rrrrrrstaticmethodrrrrrrrrrrrrrrrr#r`r'rrr
rUrUs	
 H"HIM,1&PC$ 
8BH54$ML&&)-49'RZ$$(	"$>^@@<4%%rrUc|f|z}|tvr2	t|tjtj|yy#t$rY"wxYw)Nro)_warnedrqrrrsrKadd)msgr
s  r
r}r}sO&3,C
'	#CJJ'	C		sA	A
Ac<eZdZ	dZdZedZdZdZdZ	y)
ConfigChangesc	g|_tjD]%}i||<|jj||'yr,)pagesidleConfr[r)rconfig_types  r
rzConfigChanges.__init__sB3
#00	1K "DJJd;/0	1rcH	||}t|}||vri||<||||<yr,)str)rr2r&itemr:pages      r

add_optionzConfigChanges.add_option%s7:K E
$DM#W
drc$	tj|j||rItj|j|||k(r#tj|j||Stj|j
|||Sr,)r1r\r"r*r]r>r;)r2r&r5r:s    r
save_optionzConfigChanges.save_option-s	{+66wE"";/33GTBeK''4AA'4PP,66weLLrc		tjdjd}|D]}d}||}|D]]}|dk(r$tjdjdd}||j	D]\}}|j||||sd}_|sotj|jd}dD]#}tj|j%|j
|S)NrWFrT)rYrX)r1r]rSrCrr9clear)rchangedr2cfg_type_changedr6r&r5r:s        r
save_allzConfigChanges.save_all:s	
	 %%'	K$$D
0k)$$V,;;KH'+$#'=#6#6#80KD%''WdEJ+/(0	
0   -224	1	1K[)..0	1	

rc	|||vr|||=tj|}|j||jyr,)r1r]rCrS)rr2r&
configpages    r
delete_sectionzConfigChanges.delete_sectionXsK	d;''[!'*%%k2
!!'*rcH	|jD]}|jyr,)r0r;)rr6s  r
r;zConfigChanges.clearcs%	
JJ	DJJL	rN)
rr	r
rr7r(r9r>rAr;rrr
r.r.s6$1$
M
M<	rr.cddlmd\}}fdfd}|tj|tjtd|d|d	y)
Nr)crc32)rrc~t|}tdz
a|jdtat	|y)Nrzutf-8)encoding)r4lineencodecrcrq)objtxtrDs  r
sprintz_dump.<locals>.sprintrs3#h	CJJJ0#6
c
rc
Htd|dt|jD]x}||j}|||D]N}||j	|}|||D]#}|dz||j||z%Pzy)N
z = )rqsortedrYrBr.r*)r^r
rBr&r.r'rLs      r
dumpCfgz_dump.<locals>.dumpCfgzs
dC#((*%		KC3x((*H3K8#
Kc(**73ww%KF6E>CHLL&,IIJK	
K			Krz	
lines = z, crc = rc)sep)zlibrDr1r\r]rq)rGrIrPrDrLs   @@r
_dumprSnsHID#KH H	,j#26r__main__)rWzidlelib.idle_test.test_configrF)	verbosityexit)configparserrrLrrtkinter.fontrrf	Exceptionrrrrr6rUr1r8r*r}dictr.rSrunittestrWrrr
<module>r\s6&	
(	('y'#9#&!\&!P@%@%Dj	%j	%Z:

%_D_F7:z	(AEBr