File: //opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/__pycache__/bibtex.cpython-311.pyc
�
�;f� � � � d Z ddlZddlmZmZmZmZmZ ddlm Z m
Z
mZmZm
Z
mZmZmZ ddgZ G d� de� � Z G d� de� � ZdS ) z�
pygments.lexers.bibtex
~~~~~~~~~~~~~~~~~~~~~~
Lexers for BibTeX bibliography data and styles
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�
RegexLexer�ExtendedRegexLexer�include�default�words)�Name�Comment�String�Error�Number�Keyword�Punctuation�
Whitespace�BibTeXLexer�BSTLexerc �j � e Zd ZdZdZddgZdgZdgZdZe j
ZdZd Z
d
� de
z de
z � � Zd
� Zd� Z ed� � defdej dfdej dfdez ej dfdefg ed� � dedfg ed� � dedfg ed� � dej dfg ed� � dedf ed� � g ed� � eej df ed� � g ed� � d edfg ed� � eej fd!ed"fd#ed$fd%efd&ef ed� � gd#ed$fd!edfd'efgd#ed(fd)edfd*efgd+efgd,�Zd-S ).r z6
A lexer for BibTeX bibliography data format.
�BibTeX�bibtex�bibz*.bibz
text/x-bibtex�2.2� https://texfaq.org/FAQ-BibTeXingz@!$&*+\-./:;<>?\[\\\]^`|~z [{}][{}]*za-z_z\wc # � K � |� � � }||_ |� � � t |fV � |� � � |_ d S )N)�group�
opening_brace�startr �end�pos)�self�match�ctxr s �I/opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/bibtex.py�open_brace_callbackzBibTeXLexer.open_brace_callback% sI � � � ����
�
�
�)����k�k�m�m�[�-�7�7�7�7��)�)�+�+����� c # �& K � |� � � }|j dk r|dk s|j dk r%|dk r|� � � t |fV � n|� � � t |fV � |`|� � � |_ d S )N�{�}�(�))r r r r r r r )r r r �
closing_braces r! �close_brace_callbackz BibTeXLexer.close_brace_callback+ s� � � � ����
�
�
����$�$��#�)=�)=����$�$��#�)=�)=��+�+�-�-��
�5�5�5�5�5��+�+�-�-��m�;�;�;�;����)�)�+�+����r# �
whitespacez@comment(?!ary)z @preamble)�
closing-brace�value�
opening-bracez@string)r, �fieldr. �@)r, �command-bodyr. z.+z[{(]�#popz[})]z
[^\s\,\}]+)r2 �fields�,r/ )r- �=r5 �"�
quoted-string�\{�
braced-stringz[\d]+�#z[^\{\"]+z#push�\}z[^\{\}]+�\s+)�rootr. r, r1 r3 r/ r5 r- r7 r9 r+ N)�__name__�
__module__�__qualname__�__doc__�name�aliases� filenames� mimetypes�
version_added�re�
IGNORECASE�flags�url�
ALLOWED_CHARS�format�
IDENTIFIERr"