File: //opt/alt/python37/lib/python3.7/site-packages/loguru/__pycache__/_better_exceptions.cpython-37.pyc
B
�P�eN � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl
Z
ejdkrldd� Zn6yd dl
mZ W n ek
r� dd� ZY n
X dd� ZG dd � d �ZG d
d� d�ZdS )� N)� � c C s
t | t�S )N)�
isinstance�ExceptionGroup)�exc� r �J/opt/alt/python37/lib/python3.7/site-packages/loguru/_better_exceptions.py�is_exception_group s r )r c C s dS )NFr )r r r r r s c C s
t | t�S )N)r r )r r r r r s c @ s� e Zd Zddddddddddd�
Zeee��Zd d
dhZdd
dddddddh Z e
jhZdZ
ejdkr�e�e
je
je
jh� e
jZ
ddd�Zdd� Zedd� �Z
dS )�SyntaxHighlighterz[30m[1m{}[0mz[35m[1m{}[0mz
[1m{}[0mz[36m{}[0mz[34m[1m{}[0mz[36m[1m{}[0mz{})
�comment�keyword�builtin�string�number�operator�punctuation�constant�
identifier�other�True�False�None�(�)�[�]�{�}�:�,�;N)r � c C s |p| j | _d S )N)�_default_style�_style)�self�styler r r �__init__8 s zSyntaxHighlighter.__init__c C s� | j }d\}}d}�x`| �|�D �]P}|\}}\} }
\}}}
|| jkr^||�d�|�d� 7 }|tjkr�|| jkr||d }n0t�|�r�|d }n|| jkr�|d }n|d }nn|tj kr�|| j
kr�|d }n|d
}nF|tjkr�|d }n2|| jkr�|d }n|tj
k�r|d
}n|d }| |k�r<||d � }| d }}|tjk�rn||
||
� 7 }||�|
|
|� �7 }|}q W |||d � 7 }|S )N)r r � r r r r r
r r r r r r r r )r# �tokenize�_fstring_middle�count�NAME�
_constantsr � iskeyword� _builtins�OP�_punctation�NUMBER�_strings�COMMENT�ENCODING�format)r$ �sourcer% �row�column�output�token�type_r Z start_rowZstart_column�_Z
end_column�line�colorr r r � highlight; sF
zSyntaxHighlighter.highlightc c sF | � d�} t�| �} yt�| j�E d H W n tjk
r@ d S X d S )Nzutf-8)�encode�io�BytesIOr( �readline�
TokenError)r6 r r r r( m s
zSyntaxHighlighter.tokenize)N)�__name__�
__module__�__qualname__r"