o
    \h,                     @   sj   d Z ddlmZ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 dgZG dd deZdS )z
    pygments.lexers.kuin
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for the Kuin language.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerincludeusingthisbygroupswords)	TextCommentOperatorKeywordNameStringNumberPunctuation
Whitespace	KuinLexerc                &   @   s  e Zd ZdZdZdZdgZdgZdZi de	dgde	d	d
e
eeeeeeeejdfde
eeeejdfde
eeeejdfde
eeeejdfde
eeeejdfde
eeeejdfde
eeeejdfde
eeeejdfde
eeeejdfde
eeeejdfde
eeeejdfd ed!fd"ed#fd$ed%fd&ed'fd(ed)fd*ed+fd,ed-fd.ed/fd0efgd	d1e
ejefd2efd3ejd4fgd4d3ejd4fd5ejfd6ejfd7ejd8fgde	d9d6ed:fgd:d;e
eeeed<fe	dgde	d9d6ed=fgd=d>e
eeeed<fe	dgde	d9d6ed?fgd?d@e
eeeed<fe	d9d6efgde	d9d6edAfgdAdBe
eeeed<fe	de	dCe	dDgde	d9d6edEfgdEdFe
eeeed<fedGdHdHdIejdJfe	de	dCe	dDgdJe	d9d6ed8fgde	d9d6edKfgdKdLe
eeeed<fedMdHdHdIedNfe	de	dCe	dDgi dNe	d9d6ed8fgde	d9d6edOfgdOdPe
eeeed<fedQdHdHdIedRfe	de	dCe	dDgdRe	d9d6ed8fgde	d9d6edSfgdSdTe
eeeed<fe	de	dCe	dDgde	d9d6edUfgdUdVe
eeeed<fe	de	dCe	dDgde	d9d6edWfgdWdXe
eeeed<fe	de	dCe	dDgde	d9d6edYfgdYdZe
eeeed<fed[dHdHdIed\fe	de	dCe	dDgd\e	d9d6ed8fgdCd]e
eeeejfgdDd^e
eeeejfgd+e	d9d6ed8fgd-e	d9d6ed8fge	d9d6ed8fge	d9d6ed8fge	d9d6ed8fge	d9d6ed8fge	d9d6ed8fge	d9d6ed8fge	d	d_efd`efdaefdbefdcefedddHdHdIejfededHdHdIefedfdHdHdIejfdgejfdhejfdiejfdjejfdkej fdle!j"dmfdne!j#fdoe$fdpe$fdqe$fdre$fdse$fdte$fdue$fdve$fdwe$fdxe$fdyefdze
ejej%fgd{e!j"fd|e!j"d}fdle!j"d8fge	d9d7e!j"d8fgd~	Z&dS )r   z
    For Kuin source code.
    Kuinzhttps://github.com/kuina/Kuinkuinz*.knz2.9root	statement
whitespacezT(\+?)([ \t]*)(\*?)([ \t]*)(\bfunc)([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*)func_z;\b(class)([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*)class_z:\b(enum)([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*)enum_zB\b(block)\b(?:([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*))?block_zB\b(ifdef)\b(?:([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*))?ifdef_z?\b(if)\b(?:([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*))?if_zC\b(switch)\b(?:([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*))?switch_zB\b(while)\b(?:([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*))?while_z@\b(for)\b(?:([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*))?for_zD\b(foreach)\b(?:([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*))?foreach_z@\b(try)\b(?:([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*))?try_z\b(do)\bdoz(\+?[ \t]*\bvar)\bvarz\b(const)\bconstz	\b(ret)\bretz\b(throw)\bthrowz\b(alias)\baliasz\b(assert)\bassertz\|continued_linez[ \t]*\nz^([ \t]*)(;.*)z[ \t]+(?![; \t])z\{multiline_commentz(?:\s*;.*|[^{}\n]+)z\nz\}z#popexprfuncz)\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(func)\bz#pop:2classz*\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(class)\benumz)\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(enum)\bblockz*\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(block)\bbreakskipifdefz*\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(ifdef)\b)rlsdbgz\b)prefixsuffixifdef_spifz'\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(if)\b)elifelseif_spswitchz+\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(switch)\b)casedefaultto	switch_spwhilez*\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(while)\bforz(\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(for)\bforeachz,\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(foreach)\btryz(\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(try)\b)catchfinallyr?   try_spz+\b(break)\b([ \t]+)([a-zA-Z_][0-9a-zA-Z_]*)z*\b(skip)\b([ \t]+)([a-zA-Z_][0-9a-zA-Z_]*)z\(z\)z\[z\],)truefalsenullinfme)bit16bit32bit64bit8boolcharr-   dictr.   floatr,   intlistqueuestackz(\b[0-9]\.[0-9]+(?!\.)(:?e[\+-][0-9]+)?\bz\b2#[01]+(?:b(?:8|16|32|64))?\bz \b8#[0-7]+(?:b(?:8|16|32|64))?\bz$\b16#[0-9A-F]+(?:b(?:8|16|32|64))?\bz\b[0-9]+(?:b(?:8|16|32|64))?\b"stringz'(?:\\.|.)+?'z(?:\.|\$(?:>|<)?)z(?:\^)z(?:\+|-|!|##?)z
(?:\*|/|%)z(?:~)z(?:(?:=|<>)(?:&|\$)?|<=?|>=?)z(?:&)z(?:\|)z(?:\?)z(?::(?::|\+|-|\*|/|%|\^|~)?)z!\b([a-zA-Z_][0-9a-zA-Z_]*)(?=@)\bz (@)?\b([a-zA-Z_][0-9a-zA-Z_]*)\bz(?:\\[^{\n]|[^"\\])+z\\\{toStrInString)	r$   r"   r%   r&   r#   r)   r+   r[   r\   N)'__name__
__module____qualname____doc__nameurlaliases	filenamesversion_addedr   r   r   r   r   r   r   FunctionClassConstantOtherr   r	   Single	Multiliner   r   Typer   FloatBinOctHexDecimalr   DoubleCharr
   Variabletokens rv   rv   W/home/air/segue/gemini/backup/venv/lib/python3.10/site-packages/pygments/lexers/kuin.pyr      s   
.
3

;?DHMQW[bfosw              $  +  /  6  :  C  I  M  Q  U  Z
7


  N)r`   pygments.lexerr   r   r   r   r   r   pygments.tokenr   r	   r
   r   r   r   r   r   r   __all__r   rv   rv   rv   rw   <module>   s
     
,