File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/bibtex.cpython-310.pyc
o
���ay � @ s� d Z ddlZddlmZmZmZmZmZ ddlm Z m
Z
mZmZm
Z
mZmZmZmZ ddgZG dd� de�ZG dd� de�ZdS ) z�
pygments.lexers.bibtex
~~~~~~~~~~~~~~~~~~~~~~
Lexers for BibTeX bibliography data and styles
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�
RegexLexer�ExtendedRegexLexer�include�default�words) �Name�Comment�String�Error�Number�Text�Keyword�Punctuation�
Whitespace�BibTeXLexer�BSTLexerc @ sl e Zd ZdZdZddgZdgZdgZej Z
dZd�d e d
e �Z
dd� Zd
d� Zed�defdejdfdejdfde
ejdfdefged�dedfged�dedfged�dejdfged�dedfed�ged�e
ejdfed�ged�d edfged�e
ejfd!ed"fd#ed$fd%efd&efed�gd#ed$fd!edfd'efgd#ed(fd)edfd*efgd+efgd,�Zd-S ).r zQ
A lexer for BibTeX bibliography data format.
.. versionadded:: 2.2
�BibTeX�bibtex�bibz*.bibz
text/x-bibtexz@!$&*+\-./:;<>?\[\\\]^`|~z [{}][{}]*za-z_z\wc c s. � |� � }||_|�� t|fV |�� |_d S )N)�group�
opening_brace�startr �end�pos)�self�match�ctxr � r �8/usr/lib/python3/dist-packages/pygments/lexers/bibtex.py�open_brace_callback% s
�zBibTeXLexer.open_brace_callbackc c sb � |� � }|jdkr|dks|jdkr |dkr |�� t|fV n|�� t|fV |`|�� |_d S )N�{�}�(�))r r r r
r r r )r r r �
closing_bracer r r �close_brace_callback+ s �z BibTeXLexer.close_brace_callback�
whitespacez@comment(?!ary)z @preamble)�
closing-brace�value�
opening-bracez@string)r'