Viewing File: /opt/alt/python35/lib64/python3.5/idlelib/__pycache__/ColorDelegator.cpython-35.pyc



Yff)@sddlZddlZddlZddlZddlmZddlmZddlm	Z	dZ
ddZdd	Zej
eejZej
d
ejZddZGd
ddeZddZedkrddlmZeedS)N)	TkVersion)	Delegator)idleConfFcCsd|dj|dS)z9Return a named group pattern matching list of alternates.z(?P<%s>|))join)nameZ
alternatesr	;/opt/alt/python35/lib64/python3.5/idlelib/ColorDelegator.pyanysrc
Csdtdtjd}ddttD}dtd|d}tddg}d	}|d
}|d}|d}|d
}td||||g}	|d|d|d|	dtddgS)Nz\bKEYWORDcSs;g|]1}|jdr|tjkrt|qS)_)
startswithkeywordkwliststr).0rr	r	r

<listcomp>s	zmake_pat.<locals>.<listcomp>z([^.'\"\\#]\b|^)BUILTINCOMMENTz#[^\n]*z4(\br|u|ur|R|U|UR|Ur|uR|b|B|br|Br|bR|BR|rb|rB|Rb|RB)?z'[^'\\\n]*(\\.[^'\\\n]*)*'?z"[^"\\\n]*(\\.[^"\\\n]*)*"?z''''[^'\\]*((\\.|'(?!''))[^'\\]*)*(''')?z'"""[^"\\]*((\\.|"(?!""))[^"\\]*)*(""")?STRINGrSYNCz\n)rrrdirbuiltins)
kwZbuiltinlistbuiltincommentZstringprefixZsqstringZdqstringZ	sq3stringZ	dq3stringstringr	r	r
make_pats



rz\s+(\w+)cCstj}tj|d}tj|ddd}tj|d}|jd|dd|dd|d	|dd
|dtdkr|jd|dd
S)z_Set color opitons of Text widget.

    Should be called whenever ColorDelegator is called.
    ZnormalZcursorZfgBgZfgZhilite
foreground
backgroundZinsertbackgroundZselectforegroundZselectbackgroundg!@ZinactiveselectbackgroundN)rCurrentThemeGetHighlightconfigr)textthemeZ
normal_colorsZcursor_colorZ
select_colorsr	r	r
color_config$s	


	r&c@seZdZddZddZddZddZd	d
dZd	dd
Zd	Z	dZ
dZd	ddZd	Z
d	ddZddZddZddZddZd	S)ColorDelegatorcCs-tj|t|_t|_|jdS)N)r__init__progidprogLoadTagDefs)selfr	r	r
r(<s
		zColorDelegator.__init__cCs~|jdk	r|jdtj|||dk	rh|j|jd|j|jddnd|_d|_	dS)Nz<<toggle-auto-coloring>>z1.0endTF)
delegateZunbindrsetdelegate
config_colorsZbindtoggle_colorize_eventnotify_rangestop_colorizingallow_colorizing)r,r.r	r	r
r/Bs

	zColorDelegator.setdelegatecCsGx3|jjD]"\}}|r|j||qW|jddS)NZsel)tagdefsitemsZ
tag_configureZ	tag_raise)r,tagZcnfr	r	r
r0OszColorDelegator.config_colorscCstj}dtj|ddtj|ddtj|ddtj|dd	tj|d
dddd
didddd
didtj|ddtj|di	|_trtd|jdS)Nrrrrrrrr
DEFINITIONZ
definitionrr rTODOZERRORerrorZhitr5)rr!r"r5DEBUGprint)r,r%r	r	r
r+UszColorDelegator.LoadTagDefsNcCsG|j|}|jj||||j||dt|dS)Nz+%dc)indexr.insertr2len)r,r=charsZtagsr	r	r
r>fszColorDelegator.insertcCs3|j|}|jj|||j|dS)N)r=r.deleter2)r,index1index2r	r	r
rAkszColorDelegator.deleteTFcCs|jd|||jr0tr,tddS|jrRd|_trRtd|jrtrktd|jd|j|_dS)Nr9zcolorizing already scheduledTzstop colorizingzschedule colorizing)	tag_addafter_idr;r<
colorizingr3r4after
recolorize)r,rBrCr	r	r
r2ts	
		
	
zColorDelegator.notify_rangecCss|jr8|j}d|_tr+td|j|d|_d|_|ro|jsf|jn	||_dS)Nzcancel scheduled recolorizerFT)	rFr;r<after_cancelr4r3rGdestroyclose_when_done)r,rLrFr	r	r
closes			

			
zColorDelegator.closecCs|jr8|j}d|_tr+td|j||jrc|jrctrZtdd|_|j|_|jr|jr|jd|j|_trtd|jrdpddS)	Nzcancel scheduled recolorizerzstop colorizingTrDzauto colorizing turnedZonZoffbreak)	rFr;r<rJr4rGr3rHrI)r,ZeventrFr	r	r
r1s"			


	
z$ColorDelegator.toggle_colorize_eventcCs9d|_|js&tr"tddS|jsCtr?tddS|jr`tr\tddSz`d|_d|_trtdtj}|j	tj}trtd||Wdd|_X|jr|j
dd	rtrtd
|jd|j|_|j
r5|j
}d|_
|jdS)Nzno delegatezauto colorizing is offzalready colorizingFTz
colorizing...z%.3f secondsr9z1.0zreschedule colorizingrD)rFr.r;r<r4rGr3timeZperf_counterrecolorize_main
tag_nextrangerHrIrLrK)r,Zt0Zt1topr	r	r
rIs@		
	
	
		



			zColorDelegator.recolorizecCsd}x|jd|}|s"P|\}}|jd|||jd|}|rf|d}nd}d}|}d}d}x|s|}|j|d|}t|dd	}d|j|d
k}|j||}	|	sdSx$|jD]}
|j|
||qW||	}|jj	|}x|rx|j
jD]\}}
|
rQ|j|\}}|j
||d||d||
dkrQ|jj||}|rQ|jd\}}|j
d|d||d|qQW|jj	||j}q8Wd|j|d
krE|}d}nd}|sa|j
d||j|jrtrtddSqWq	WdS)Nz1.0r9rrDFz+%d lines linestartdz-1cz+%dcdefclassr8zcolorizing stopped)rVrW)rQ
tag_removeZ
tag_prevranger=minZ	tag_namesgetr5r)search	groupdictr6spanrEr*matchr-updater3r;r<)r,nextitemheadtailr@Zlines_to_getokZmarkliner7mkeyvalueabm1r	r	r
rPsl
	
				
	
zColorDelegator.recolorize_maincCs+x$|jD]}|j|ddq
WdS)Nz1.0r-)r5rX)r,r7r	r	r
removecolorsszColorDelegator.removecolors)__name__
__module____qualname__r(r/r0r+r>rArFr4rGr2rLrMr1rIrPrlr	r	r	r
r':s 
Ar'c	Csddlm}m}ddlm}||}|jd|jd|jd|jdfd}||d	d
}|j	ddd
d|j
d||jt|||}t
}|j|dS)Nr)ToplevelText)
PercolatorzTest ColorDelegatorz
200x100+%d+%dz'if somename: x = 'abc' # comment
print
r ZwhiteexpandrDZfillZbothr>)tkinterrprqZidlelib.PercolatorrrtitleZgeometryZwinfo_rootxZwinfo_rootyZpackr>Z	focus_setr&r'Zinsertfilter)	parentrprqrrrRsourcer$pdr	r	r
_color_delegators


	r|__main__)run)rOrerrrvrZidlelib.DelegatorrZidlelib.configHandlerrr;rrcompileSr)r*r&r'r|rmZidlelib.idle_test.htestr~r	r	r	r
<module>s"
Back to Directory File Manager