File: //opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/__pycache__/carbon.cpython-311.pyc
�
�;f� � �p � d Z ddlZddlmZmZ ddlmZmZmZm Z m
Z
mZmZm
Z
mZ dgZ G d� de� � ZdS )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 �| � e Zd ZdZdZdZdgZdgZdgZdZ e
j e
j z Z
dd efd
efdefdej fd
ej fdej fdej f edd�� � efdej fdej fdej fdej fdej fdej fdej fdej fde fde j! fde"fde#fde$j% fgiZ&d � Z'd!S )"r z
For Carbon source.
�Carbonz.https://github.com/carbon-language/carbon-langz*.carbon�carbonz
text/x-carbonz2.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]+z0b[01]+z0o[0-7]+z0x[0-9a-fA-F]+z[0-9]+z"(\\.|[^"\\])*"z\'(\\.|[^\'\\])\'zm<<=|>>=|<<|>>|<=|>=|\+=|-=|\*=|/=|\%=|\|=|&=|\^=|&&|\|\||&|\||\+\+|--|\%|\^|\~|==|!=|::|[.]{3}|->|=>|[+\-*/&]z[|<>=!()\[\]{}.,;:\?]z
[^\W\d]\w*c � � d}d| v r|dz
}d| v r|dz
}d| v r|dz
}d| v r|dz
}d| v r|dz
}d| v r|dz
}d | v r|dz
}d
| v r|dz
}d| v r|dz
}d| v r|dz
}|S )
Nr r g�������?r0 r, r+ �package�library�choice�addr�
constraint�impl� )�text�results �I/opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/carbon.py�analyse_textzCarbonLexer.analyse_textI s� � ����t����c�M�F��T�>�>��c�M�F��T�>�>��c�M�F������c�M�F������c�M�F������c�M�F��t����c�M�F��T�>�>��c�M�F��4����c�M�F��T�>�>��c�M�F��
� N)(�__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>