o
    Zh,"                     @   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-2023 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                   @   sh  e Zd ZdZdZdZdgZdgZddg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d/fd0ejed$d)fd1ejed$d+fd2ejed$d-fd3ejed$d/fd4ejfd5ejfd6ejfd7efed8d9efd:efd;e fed<d=e!j"fgd8d>e#j$fd?e#j$fd@e#j%fdAe#j&fdBe#j'fdCe#j(fgded$gdDdEej)fgd$dFej)fedDgdGeejdHeejdIeejdJeejd d2ejdKfdLej)fedHgd"d3ejdKfdMej)fedGgd-d2ejdKfdLej)fedJgd/d3ejdKfdMej)fedIgdd0ejdKfedHdNejfgdd1ejdKfedGdNejfgd)d0ejdKfedJdNejfgd1ejdKfedIdNejfgdOe dPfdQej*dKfdRej*dKfdefedgdOe dPfdSe dKfdefedge	dTd	d
efe	dUd	d
ej+fge	dVd	d
e!j,fgdWej-fdXej-dYfdZej-fd[ej-dKfgd\e!j.dKfgd]Z/d^S )_r   zy
    For PRQL source code.

    .. versionadded:: 2.17

    grammar: https://github.com/PRQL/prql/tree/main/grammars
    PRQLzhttps://prql-lang.org/prqlz*.prqlzapplication/prqlzapplication/x-prql)
boolintZint8Zint16Zint32Zint64Z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   K/var/www/html/lang_env/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_rules6   s
   
zPrqlLexer.fstring_rulesrootz#!.*z#.*z\s+z^(\s*)(module)(\s*)importsz^prql Zletkeywordsexprz^[A-Za-z_][a-zA-Z0-9_]*z(f)(""")ZfstringescapeZtdqfz(f)(''')Ztsqfz(f)(")Zdqfz(f)(')Zsqfz(s)(""")Zstringescapez(s)(''')z(s)(")z(s)(')z(?i)(r)(""")Ztdqsz(?i)(r)(''')tsqsz
(?i)(r)(")Zdqsz
(?i)(r)(')Z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)*Z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[])}])ZintocasetypemoduleZinternal)truefalsenull)minmaxsumZaverageZstddevZeveryanyZconcat_arraycountZlagZleadfirstlastZrankZ
rank_denseZ
row_numberroundasinZtuple_everyZ	tuple_mapZ	tuple_zip_eqZ_is_nullZ	from_textlowerupperZread_parquetZread_csvz-(?!\})z\{-commentz[^-}]z-\}z\w+(\.\w+)*)r(   r"   r-   r&   r,   rA   r%   N)0__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesr   Z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)rE   Zpygments.lexerr   r   r   r   r   Zpygments.tokenr   r   r	   r
   r   r   r   r   r   r   __all__r   r   r   r   r    <module>   s
    
0