o
    \h$!                     @   sn   d Z ddl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G dd deZdS )	z
    pygments.lexers.slash
    ~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Slash programming language.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )ExtendedRegexLexerbygroupsDelegatingLexer)	NameNumberStringCommentPunctuationOtherKeywordOperator
Whitespace
SlashLexerc                   @   s$  e Zd ZdZdd Zdd Zdejedfdejedfd	ejfd
ejedfde	fgde
jedfde
edfde
jdfde
fgde
jedfde
jedfde
jedfde
jedfde
jedfde
jedfgde
jedfde
jfde
jdfde
jfgde
jdfde
jfde
jdfgg dejedfde
edfde
fde
jed fd!ejfd"ejfd#ejfd$ejfd%ejfd&e ejfd'e ejfd(e ejfd)e ejfd*eeeejfd+e efd,e efd-eeeejeeeejfd.eeeejfd/e efd0e efd1e efd2e efd3e efd4e efd5e efd6e efd7e efd8e efd9e efd:e efd;e efd<e efd=e efd>e efd?e efd@e efdAe efdBe efdCe efdefdDefdEe ejjfdFe ejjfdGe ejfdHe efdIe ejjfdJe ejjfdKefdLefdMefdNefdOefdPefdQefdRefdSefdTefdUefdVefdWefdXefdYefdZefd[efd\efd]efd^efd_efd`efdaefdbefdcefddefdeefdfefdgefdhefdiefdjefdkefdlefdmefdnefdoefdpefdqefdrefdsefdtefduefdvefdwefdxefdyefdzefd{efd|efdHejfd}Zd~S )SlashLanguageLexerz(?=[^a-zA-Z_0-9])c                 C   s   d| fS )N#pop )	new_stater   r   X/home/air/segue/gemini/backup/venv/lib/python3.10/site-packages/pygments/lexers/slash.py
move_state   s   zSlashLanguageLexer.move_statec                 c   sH    t |jdkr|jd dkr|j  | tjdfV  | |_d S )N   string})lenstackpopstartr   Interpolendpos)lexermatchctxr   r   r   right_angle_bracket   s   

z&SlashLanguageLexer.right_angle_bracketz<%=slashz<%!!z<%#.*?%>z<%z.|\nz\\string_ez\"z#\{nr   trezx[a-fA-F0-9]{2}.z}[a-z]*z\\(.|\n){regexp_rr   z%>rootz'[a-zA-Z0-9_]+z%r{regexpz	/\*.*?\*/z(#|//).*?\nz-?[0-9]+e[+-]?[0-9]+z-?[0-9]+\.[0-9]+(e[+-]?[0-9]+)?z-?[0-9]+niltruefalseselfz"(class)(\s+)([A-Z][a-zA-Z0-9_\']*)classextendsz{(def)(\s+)(self)(\s*)(\.)(\s*)([a-z_][a-zA-Z0-9_\']*=?|<<|>>|==|<=>|<=|<|>=|>|\+|-(self)?|~(self)?|\*|/|%|^|&&|&|\||\[\]=?)zg(def)(\s+)([a-z_][a-zA-Z0-9_\']*=?|<<|>>|==|<=>|<=|<|>=|>|\+|-(self)?|~(self)?|\*|/|%|^|&&|&|\||\[\]=?)defifelsifelseunlessforinwhileuntilandornotlambdatrycatchreturnnextlastthrowuseswitchu   λ__FILE____LINE__z[A-Z][a-zA-Z0-9_\']*z[a-z_][a-zA-Z0-9_\']*z@[a-z_][a-zA-Z0-9_\']*z@@[a-z_][a-zA-Z0-9_\']*z\(z\)z\[z\]z\{z\};,z<<=z>>=z<<z>>z==z!=z=>=z<=>z<=z>=<>z\+\+z\+=z-=z\*\*=z\*=z\*\*z\*z/=z\+-/z%=%z^=z&&=z&=z&&&z\|\|=z\|=z\|\|z\|!z\.\.\.z\.\.z\.z:::z(\s|\n)+)r-   r   r%   r.   r,   r$   N) __name__
__module____qualname___nkwr   r#   r   Preproc	Multiliner
   r   Escaper   RegexSingler   FloatIntegerr   Builtinr   r   r   Classr	   FunctionPseudoConstantVariableInstancer   tokensr   r   r   r   r      s   	
	


	













 
!
"
#
$
%
&
'
(
)
*+,-./
0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde
r   c                       s8   e Zd ZdZdZdgZdgZdZdZ fddZ	  Z
S )	r   z3
    Lexer for the Slash programming language.
    Slashr$   z*.slaz$https://github.com/arturadib/Slash-Az2.4c                    s&   ddl m} t j|tfi | d S )Nr   )	HtmlLexer)pygments.lexers.webrk   super__init__r   )r2   optionsrk   	__class__r   r   rn      s   zSlashLexer.__init__)rW   rX   rY   __doc__namealiases	filenamesurlversion_addedrn   __classcell__r   r   rp   r   r      s    N)rr   pygments.lexerr   r   r   pygments.tokenr   r   r   r   r	   r
   r   r   r   __all__r   r   r   r   r   r   <module>   s    
, 