o
    Ñ­j."  ã                   @   sj   d 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mZmZ dgZG dd„ deƒZdS )zÒ
    pygments.lexers.prql
    ~~~~~~~~~~~~~~~~~~~~

    Lexer for the PRQL query language.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚcombinedÚwordsÚincludeÚbygroups)
ÚCommentÚLiteralÚKeywordÚNameÚNumberÚOperatorÚPunctuationÚStringÚTextÚ
WhitespaceÚ	PrqlLexerc                   @   sl  e Zd ZdZdZdZdgZdgZddgZdZ	e
d	d
d�Zdd„ Zdd„ Zi ddejfdejfdefdeeejeƒdfeejfdejfdejfedƒedƒdefg
“ddeejejƒeddƒfdeejejƒeddƒfd eejejƒedd!ƒfd"eejejƒedd#ƒfd$eejejƒed%dƒfd&eejejƒed%dƒfd'eejejƒed%d!ƒfd(eejejƒed%d#ƒfd)eejejƒd*fd+eejejƒd,fd-eejejƒd.fd/eejejƒd0fd1ejed%d*ƒfd2ejed%d,ƒfd3ejed%d.ƒfd4ejed%d0ƒfd5ejfd6ejfd7ejfd8efed9ƒd:e fd;e fd<e!fed=ƒd>e"j#fg“d9d?e$j%fd@e$j%fdAe$j&fdBe$j'fdCe$j(fdDe$j)fg“ded%ƒg“dEdFej*fg“d%dGej*fedEƒg“dHeejƒ“dIeejƒ“dJeejƒ“dKeejƒ“d!d3ejdLfdMej*fedIƒg“d#d4ejdLfdNej*fedHƒg“d.d3ejdLfdMej*fedKƒg“d0d4ejdLfdNej*fedJƒg“dd1ejdLfedIƒdOejfg“dd2ejdLfedHƒdOejfg“d*d1ejdLfedKƒdOejfg“d2ejdLfedJƒdOejfgdPe!dQfdRej+dLfdSej+dLfdefedƒgdPe!dQfdTe!dLfdefedƒge
dUd
d�efe
dVd
d�ej,fge
dWd
d�e"j-fgdXej.fdYej.dZfd[ej.fd\ej.dLfgd]e"j/dLfgd^œ¥Z0d_S )`r   z]
    For PRQL source code.

    grammar: https://github.com/PRQL/prql/tree/main/grammars
    ÚPRQLzhttps://prql-lang.org/Úprqlz*.prqlzapplication/prqlzapplication/x-prqlz2.17)
ÚboolÚintÚint8Úint16Úint32Úint64Úint128ÚfloatÚtextÚsetz\b)Úsuffixc                 C   s   dt jfd| fd| fd| fgS )Nz]\{((\w+)((\.\w+)|(\[[^\]]+\]))*)?(\:(.?[<>=\^])?[-+ ]?#?0?(\d+)?,?(\.\d+)?[E-GXb-gnosx%]?)?\}z[^\\\'"%{\n]+ú[\'"\\]z%|(\{{1,2})©r   ÚInterpol©Úttype© r$   úQ/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pygments/lexers/prql.pyÚinnerstring_rules(   s   ý÷zPrqlLexer.innerstring_rulesc                 C   s"   dt jfdt jdfd| fd| fgS )Nz\}z\{úexpr-inside-fstringz[^\\\'"{}\n]+r   r    r"   r$   r$   r%   Úfstring_rules5   s
   
üzPrqlLexer.fstring_rulesÚrootz#!.*z#.*z\s+z^(\s*)(module)(\s*)Úimportsz^prql ÚletÚkeywordsÚexprz^[A-Za-z_][a-zA-Z0-9_]*z(f)(""")ÚfstringescapeÚtdqfz(f)(''')Útsqfz(f)(")Údqfz(f)(')Úsqfz(s)(""")Ústringescapez(s)(''')z(s)(")z(s)(')z(?i)(r)(""")Útdqsz(?i)(r)(''')Útsqsz
(?i)(r)(")Údqsz
(?i)(r)(')Úsqsz"""z'''ú"ú'zQ@\d{4}-\d{2}-\d{2}T\d{2}(:\d{2})?(:\d{2})?(\.\d{1,6})?(Z|[+-]\d{1,2}(:\d{1,2})?)?z@\d{4}-\d{2}-\d{2}z?@\d{2}(:\d{2})?(:\d{2})?(\.\d{1,6})?(Z|[+-]\d{1,2}(:\d{1,2})?)?z[^\S\n]+Únumbersz&->|=>|==|!=|>=|<=|~=|&&|\|\||\?\?|\/\/z[-~+/*%=<>&^|.@]z[]{}:(),;[]Ú	functionsz[A-Za-z_][a-zA-Z0-9_]*zT(\d(?:_?\d)*\.(?:\d(?:_?\d)*)?|(?:\d(?:_?\d)*)?\.\d(?:_?\d)*)([eE][+-]?\d(?:_?\d)*)?z!\d(?:_?\d)*[eE][+-]?\d(?:_?\d)*j?z0[oO](?:_?[0-7])+z0[bB](?:_?[01])+z0[xX](?:_?[a-fA-F0-9])+z\d(?:_?\d)*Úbytesescapez.\\([\\bfnrt"\']|\n|x[a-fA-F0-9]{2}|[0-7]{1,3})z"\\(N\{.*?\}|u\{[a-fA-F0-9]{1,6}\})zfstrings-singlezfstrings-doublezstrings-singlezstrings-doublez#popz\\\\|\\"|\\\nz\\\\|\\'|\\\nz\nz[{([]úexpr-inside-fstring-innerz	(=\s*)?\}z(=\s*)?:z[])}])ÚintoÚcaseÚtypeÚmoduleÚinternal)ÚtrueÚfalseÚnull)ÚminÚmaxÚsumÚaverageÚstddevÚeveryÚanyÚconcat_arrayÚcountÚlagÚleadÚfirstÚlastÚrankÚ
rank_denseÚ
row_numberÚroundÚasÚinÚtuple_everyÚ	tuple_mapÚ	tuple_zipÚ_eqÚ_is_nullÚ	from_textÚlowerÚupperÚread_parquetÚread_csvz-(?!\})z\{-Úcommentz[^-}]z-\}z\w+(\.\w+)*)r5   r'   r=   r,   r;   rc   r*   N)1Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedr   ÚbuiltinTypesr&   r(   r   ÚDocr   ÚSingler   r   r	   Ú	NamespaceÚTypeÚReservedÚDeclarationr   ÚAffixÚDoubler   r   ÚDater   r   r   r
   ÚVariabler   ÚFloatÚOctÚBinÚHexÚIntegerÚEscaper!   ÚConstantÚFunctionÚ	MultilineÚClassÚtokensr$   r$   r$   r%   r      s–   úþçÿÿÿÿÿÿÿÿÿÿÿÿÿÎäPÿù°Yÿ§\ÿ¤_þ¡
c�
dœ
e›
fšg
ý™l
ý”q
ý�v
ýŠ{
ý… 
ý �ÿ 
ý �ú 
ýÿÿöüþýûúùÿ

ü
ÿ �ÄN)rg   Úpygments.lexerr   r   r   r   r   Úpygments.tokenr   r   r	   r
   r   r   r   r   r   r   Ú__all__r   r$   r$   r$   r%   Ú<module>   s
    
0