File: //usr/local/lib/python3.10/idlelib/__pycache__/colorizer.cpython-310.pyc
o
�i�9 � @ s� d dl Z d dlZd dlZd dlZd dlmZ d dlmZ dZdd� Z dd� Z
e
� Ze�d �Z
d
d
d
d
d�Zdd
� Zdd� ZG dd� de�Zdd� Zedkrfd dlmZ edddd� d dlmZ ee� dS dS )� N)�idleConf)� DelegatorFc C s d| d� |� d S )z9Return a named group pattern matching list of alternates.z(?P<%s>�|�))�join)�nameZ
alternates� r �./usr/local/lib/python3.10/idlelib/colorizer.py�any � r
c C s dt dtj� d } dd�ddd�tj� d g� d }d }d
d�dddd�tj� d g� d }dd
� tt�D �}dt d|� d }t ddg�}d}|d }|d } |d }
|d }t d|
||| g�}t�d�|||| |||t ddg�g�tjtj B �}
|
S )Nz\b�KEYWORDz,^[ \t]*(?P<MATCH_SOFTKW>match)\b(?![ \t]*(?:r z[:,;=^&|@~)\]}]z\b(?:z)\bz))zB^[ \t]*(?P<CASE_SOFTKW>case)[ \t]+(?P<CASE_DEFAULT_UNDERSCORE>_\b)z+^[ \t]*(?P<CASE_SOFTKW2>case)\b(?![ \t]*(?:z_\bc S s( g | ]}|� d �s|tjvrt|��qS )�_)�
startswith�keyword�kwlist�str)�.0r r r r �
<listcomp>- s �
�zmake_pat.<locals>.<listcomp>z([^.'\"\\#]\b|^)�BUILTIN�COMMENTz#[^\n]*z(?i:r|u|f|fr|rf|b|br|rb)?z'[^'\\\n]*(\\.[^'\\\n]*)*'?z"[^"\\\n]*(\\.[^"\\\n]*)*"?z''''[^'\\]*((\\.|'(?!''))[^'\\]*)*(''')?z'"""[^"\\]*((\\.|"(?!""))[^"\\]*)*(""")?�STRING�SYNCz\n)
r
r r r �dir�builtins�re�compile�DOTALL� MULTILINE)�kwZmatch_softkwZcase_defaultZcase_softkw_and_patternZbuiltinlist�builtin�commentZstringprefixZsqstringZdqstringZ sq3stringZ dq3string�string�progr r r �make_pat sP ���������
�
�r# z\s+(\w+)r )ZMATCH_SOFTKWZCASE_SOFTKWZCASE_DEFAULT_UNDERSCOREZCASE_SOFTKW2c C s dd� | � � �� D �S )z<Get only the non-empty named groups from an re.Match object.c s s � | ]\}}|r||fV qd S �Nr )r �k�vr r r � <genexpr>N s � z'matched_named_groups.<locals>.<genexpr>)� groupdict�items)Zre_matchr r r �matched_named_groupsL r r* c C s^ t �� }t �|d�}t �|d�d }t �|d�}| j|d |d ||d |d |d d� dS )zcSet color options of Text widget.
If ColorDelegator is used, this should be called first.
ZnormalZcursor�
foregroundZhilite�
background)r+ r, ZinsertbackgroundZselectforegroundZselectbackgroundZinactiveselectbackgroundN)r �CurrentTheme�GetHighlightZconfig)�text�themeZ
normal_colorsZcursor_colorZ
select_colorsr r r �color_configQ s
�r1 c @ s� e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� Zd!d
d�Z d!dd�Z
d!dd�Zdd� Zd!dd�Z
dd� Zdd� Zdd� Zdd� Zdd � ZdS )"�ColorDelegatora- Delegator for syntax highlighting (text coloring).
Instance variables:
delegate: Delegator below this one in the stack, meaning the
one this one delegates to.
Used to track state:
after_id: Identifier for scheduled after event, which is a
timer for colorizing the text.
allow_colorizing: Boolean toggle for applying colorizing.
colorizing: Boolean flag when colorizing is in process.
stop_colorizing: Boolean flag to end an active colorizing
process.
c C s* t �| � | �� t| _t| _| �� d S r$ )r �__init__�
init_stater"