o
    Ñ­jÎ  ã                   @   s|   d Z ddlZddlmZmZmZmZmZ ddlm	Z	m
Z
mZmZmZmZmZmZ ddgZG dd„ deƒZG dd„ deƒZdS )	zâ
    pygments.lexers.bibtex
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for BibTeX bibliography data and styles

    :copyright: Copyright 2006-present 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                   @   st  e Zd ZdZdZddgZdgZdgZdZe	j
ZdZd	Zd
 de de ¡Zdd„ Zdd„ Zedƒdefdejdfdejdfde ejdfdefgedƒdedfgedƒdedfgedƒdejdfgedƒded fedƒgedƒeejd!fedƒgedƒd"edfgedƒeejfd#ed$fd%ed&fd'efd(efedƒgd%ed&fd#edfd)efgd%ed*fd+edfd,efgd-efgd.œZd/S )0r   z6
    A lexer for BibTeX bibliography data format.
    ÚBibTeXÚbibtexÚbibz*.bibztext/x-bibtexú2.2ú https://texfaq.org/FAQ-BibTeXingz@!$&*+\-./:;<>?\[\\\]^`|~z	[{}][{}]*za-z_z\wc                 c   s.   � |  ¡ }||_| ¡ t|fV  | ¡ |_d S )N)ÚgroupÚopening_braceÚstartr   ÚendÚpos)ÚselfÚmatchÚctxr   © r   úS/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pygments/lexers/bibtex.pyÚopen_brace_callback%   s
   €zBibTeXLexer.open_brace_callbackc                 c   sb   � |  ¡ }|jdkr|dks|jdkr |dkr | ¡ t|fV  n| ¡ t|fV  |`| ¡ |_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(   Úfieldr*   ú@)r(   úcommand-bodyr*   z.+z[{(]ú#popz[})]z
[^\s\,\}]+)r.   Úfieldsú,r+   )r)   ú=r1   ú"úquoted-stringú\{úbraced-stringz[\d]+ú#z[^\{\"]+z#pushú\}z[^\{\}]+ú\s+)Úrootr*   r(   r-   r/   r+   r1   r)   r3   r5   r'   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedÚreÚ
IGNORECASEÚflagsÚurlÚALLOWED_CHARSÚformatÚ
IDENTIFIERr    r&   r   r   r   ÚClassÚLabelr   r   Ú	AttributeÚVariabler	   r   r   Útokensr   r   r   r   r      sz    


ÿù
þþ
þý
ýþù
ýýÿ
Éc                   @   sê   e Zd ZdZdZddgZdgZdZej	ej
B ZdZedƒed	d
gƒefeg d¢ƒedfeddgƒedfedgƒedfgedƒdedfgedƒdedfgedƒdejfdejfdejfdefdefdedfedƒgdefdejfgdœZdS ) r   z1
    A lexer for BibTeX bibliography styles.
    ÚBSTÚbstz
bst-pybtexz*.bstr   r   r'   ÚreadÚsort)ÚexecuteÚintegersÚiterateÚreverseÚstringsr   ÚfunctionÚmacro)r   r   Úentry)r   r   r   r4   )r.   ú	group-endÚbodyr7   r.   z\'[^#\"\{\}\s]+z[^#\"\{\}\s]+\$z[^#\"\{\}\s]+z"[^\"]*"z#-?\d+)r[   r\   r8   z%.*?$)r9   r   r[   r\   r'   N)r:   r;   r<   r=   r>   r?   r@   rB   rC   rD   Ú	MULTILINErE   rF   r   r   r   r   r   ÚFunctionÚBuiltinrM   r	   r   r   r   r   ÚSinglerN   r   r   r   r   r   t   sF    
ÿú	þþøþ
å)r=   rC   Úpygments.lexerr   r   r   r   r   Úpygments.tokenr   r   r	   r
   r   r   r   r   Ú__all__r   r   r   r   r   r   Ú<module>   s    
(_