a
    Df                     @   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-2024 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.
    ZCarbonz.https://github.com/carbon-language/carbon-langz*.carbonZ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continueZcasedefaultifelseZ
destructorforforallwhilewhereZtheninisreturnZ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| v r|d7 }d| v r$|d7 }d| v r4|d7 }d| v rD|d7 }d| v rT|d7 }d| v rd|d7 }d	| v rt|d7 }d
| v r|d7 }d| v r|d7 }d| v r|d7 }|S )Nr   r   g?r&   r"   r!   packageZlibrarychoiceaddr
constraintimpl )textresultr.   r.   c/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/pygments/lexers/carbon.pyanalyse_textI   s,    zCarbonLexer.analyse_textN)(__name__
__module____qualname____doc__nameurl	filenamesaliases	mimetypesZversion_addedre	MULTILINEDOTALLflagsr   r   r   SingleZ	Multiliner   	NamespaceZDeclarationr   ZPseudoConstantTyper
   DoubleZBinOctZHexZIntegerr	   Charr   r   r   ZOthertokensr2   r.   r.   r.   r1   r      sV   ))r6   r<   Zpygments.lexerr   r   Zpygments.tokenr   r   r   r   r   r	   r
   r   r   __all__r   r.   r.   r.   r1   <module>   s
   	,