3
f, @ s d dl Z d dlZd dlZd dlZd dlmZ d dlmZ dZdd Z dd Z
eje
ejZ
ejd ejZd
d ZG dd
d
eZdd Zedkrd dlmZ edddd d dlmZ ee dS ) N)idleConf) DelegatorFc C s d| dj | d S )z9Return a named group pattern matching list of alternates.z(?P<%s>|))join)nameZ
alternates r 6/opt/alt/python36/lib64/python3.6/idlelib/colorizer.pyany s r
c
C s dt dtjddg d } dd ttD }dt d| d }t d d
g}d}|d }|d
}|d }|d }t d||||g} | d | d | d | d t ddg S )Nz\bKEYWORDasyncawaitc S s* g | ]"}|j d r|tjkrt|qS )_)
startswithkeywordkwliststr).0r r r r
s zmake_pat..z([^.'\"\\#]\b|^)BUILTINCOMMENTz#[^\n]*z(?i:r|u|f|fr|rf|b|br|rb)?z'[^'\\\n]*(\\.[^'\\\n]*)*'?z"[^"\\\n]*(\\.[^"\\\n]*)*"?z''''[^'\\]*((\\.|'(?!''))[^'\\]*)*(''')?z'"""[^"\\]*((\\.|"(?!""))[^"\\]*)*(""")?STRINGr SYNCz\n)r
r r dirbuiltins)
kwZbuiltinlistbuiltincommentZstringprefixZsqstringZdqstringZ sq3stringZ dq3stringstringr r r make_pat s r z\s+(\w+)c C s^ t j }t j|d}t j|ddd}t j|d}| j|d |d ||d |d |d d d S )
zcSet color options of Text widget.
If ColorDelegator is used, this should be called first.
ZnormalZcursorZfg)ZfgBgZhilite
foreground
background)r r! ZinsertbackgroundZselectforegroundZselectbackgroundZinactiveselectbackgroundN)r CurrentThemeGetHighlightconfig)textthemeZ
normal_colorsZcursor_colorZ
select_colorsr r r color_config" s r' c @ s e Zd Zdd Zdd Zdd Zdd Zdd
dZddd
Zd Z dZ
dZdddZd Z
dddZdd Zdd Zdd Zdd Zd S ) ColorDelegatorc C s" t j| t| _t| _| j d S )N)r __init__progidprogLoadTagDefs)selfr r r r) 9 s
zColorDelegator.__init__c C s\ | j d k r| jd tj| | |d k rL| j | jd| j | jdd nd| _d| _ d S )Nz<>z1.0endTF)
delegateZunbindr setdelegate
config_colorsZbindtoggle_colorize_eventnotify_rangestop_colorizingallow_colorizing)r- r/ r r r r0 ? s
zColorDelegator.setdelegatec C s8 x(| j j D ]\}}|r| j|f| qW | jd d S )NZsel)tagdefsitemsZ
tag_configureZ tag_raise)r- tagZcnfr r r r1 L s zColorDelegator.config_colorsc C sz t j }t j|dt j|dt j|dt j|dt j|dd d dd d dt j|dt j|dd | _trvtd
| j d S )Nr r r r Z
definition)r! r errorhit) r r r r
DEFINITIONr TODOZERRORr: r6 )r r" r# r6 DEBUGprint)r- r&