o
    3Ih                     @   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-2025 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   V/home/air/sanwanet/gpt-api/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    	,