o
    Ñ­jŽ  ã                   @   sb   d Z ddlZddl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-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚ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d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   z
    For Carbon source.
    ÚCarbonz.https://github.com/carbon-language/carbon-langz*.carbonÚcarbonztext/x-carbonz2.15Ú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ÚelseÚ
destructorÚforÚforallÚwhileÚwhereÚthenÚinÚisÚreturnÚreturnedÚfriendÚpartialÚprivateÚ	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| v r
|d7 }d| v r|d7 }d| v r|d7 }d| v r"|d7 }d| v r*|d7 }d| v r2|d7 }d	| v r:|d7 }d
| v rB|d7 }d| v rJ|d7 }d| v rR|d7 }|S )Nr   r   gš™™™™™¹?r.   r*   r)   ÚpackageÚlibraryÚchoiceÚaddrÚ
constraintÚimpl© )ÚtextÚresultr7   r7   úS/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pygments/lexers/carbon.pyÚanalyse_textI   s,   zCarbonLexer.analyse_textN)(Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚ	filenamesÚaliasesÚ	mimetypesÚversion_addedÚreÚ	MULTILINEÚDOTALLÚflagsr   r   r   ÚSingleÚ	Multiliner   Ú	NamespaceÚDeclarationr   ÚPseudoÚConstantÚTyper
   ÚDoubleÚBinÚOctÚHexÚIntegerr	   ÚCharr   r   r   ÚOtherÚtokensr;   r7   r7   r7   r:   r      sX    ÿüüÿÿÜÿ))r?   rF   Úpygments.lexerr   r   Úpygments.tokenr   r   r   r   r   r	   r
   r   r   Ú__all__r   r7   r7   r7   r:   Ú<module>   s    	,