U
    -e                     @   sf   d Z ddl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dS )z
    pygments.lexers.carbon
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for the Carbon programming language.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerbygroupswords)	TextCommentOperatorKeywordNameStringNumberPunctuation
WhitespaceCarbonLexerc                   @   s   e Zd ZdZdZdZdgZdgZdgZe	j
e	jB Zddefd	efd
efdejfdejfdejfdejfedddefdejfdejfdejfdejfdejfdejfdejfdejfdefdej fde!fde"fde#j$fgiZ%dd  Z&d!S )"r   z8
    For Carbon source.

    .. versionadded:: 2.15
    Carbonz.https://github.com/carbon-language/carbon-langz*.carboncarbonztext/x-carbonrootz\nz\s+z\\\nz	//(.*?)\nz/(\\\n)?[*].*?[*](\\\n)?/z((package|import|api|namespace|library)\bzg(abstract|alias|fn|class|interface|let|var|virtual|external|base|addr|extends|choice|constraint|impl)\b)asornotandbreakcontinuecasedefaultifelseZ
destructorforforallwhilewhereZtheninisreturnreturnedZfriendpartialprivateZ	protectedobserveSelfoverridefinalmatchtypelikez\b)suffixz(self)\bz(true|false)\bzA(auto|bool|string|i8|i16|i32|i64|u8|u16|u32|u64|f8|f16|f32|f64)\bz[0-9]*[.][0-9]+z0b[01]+z0o[0-7]+z0x[0-9a-fA-F]+z[0-9]+z"(\\.|[^"\\])*"z\'(\\.|[^\'\\])\'zm<<=|>>=|<<|>>|<=|>=|\+=|-=|\*=|/=|\%=|\|=|&=|\^=|&&|\|\||&|\||\+\+|--|\%|\^|\~|==|!=|::|[.]{3}|->|=>|[+\-*/&]z[|<>=!()\[\]{}.,;:\?]z
[^\W\d]\w*c                 C   s   d}d| kr|d7 }d| kr$|d7 }d| kr4|d7 }d| krD|d7 }d| krT|d7 }d| krd|d7 }d	| krt|d7 }d
| kr|d7 }d| kr|d7 }d| kr|d7 }|S )Nr   r   g?r+   r'   r&   packageZlibrarychoiceaddr
constraintimpl )textresultr3   r3   W/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/pygments/lexers/carbon.pyanalyse_textJ   s,    zCarbonLexer.analyse_textN)'__name__
__module____qualname____doc__nameurl	filenamesaliases	mimetypesre	MULTILINEDOTALLflagsr   r   r   Single	Multiliner   	NamespaceDeclarationr   PseudoConstantTyper   DoubleBinOctHexIntegerr
   Charr   r   r	   Othertokensr7   r3   r3   r3   r6   r      sT   ))r;   rA   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   r   r   __all__r   r3   r3   r3   r6   <module>   s
   	,