HOME


Mini Shell 1.0
DIR: /lib/python3/dist-packages/pygments/lexers/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/pygments/lexers/__pycache__/dotnet.cpython-312.pyc
�

|�e����^�dZddlZddlmZmZmZmZmZmZm	Z	m
Z
ddlmZm
Z
mZmZmZmZmZmZmZmZmZddlmZddlmZddlmZgd�ZGd	�d
e�ZGd�de�Z Gd
�de�Z!Gd�de�Z"Gd�de�Z#Gd�de�Z$Gd�de�Z%Gd�de�Z&Gd�de�Z'y)z�
    pygments.lexers.dotnet
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for .net languages.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�
RegexLexer�DelegatingLexer�bygroups�include�using�this�default�words)�Punctuation�Text�Comment�Operator�Keyword�Name�String�Number�Literal�Other�
Whitespace)�get_choice_opt)�	unistring)�XmlLexer)�CSharpLexer�NemerleLexer�BooLexer�
VbNetLexer�CSharpAspxLexer�VbNetAspxLexer�FSharpLexer�XppLexerc��eZdZdZdZdZgd�ZdgZdgZe	je	jzZdde
jd	d
ddd
�zdzdze
jd	d
ddd
ddddd�
zdzde
jd	d
dddd
�zdzdze
jd	d
dddd
ddddd�zdzd�ZiZdZej'�D�]4\ZZdezdzezdzeeee�ej6ee�fdeeej:�fd efd!eee�fd"ej@fd#ejBfd$efe"d%�e#fd&e#fd'efd(efd)e$fd*e$fd+e$jJfd,e&fd-eejNeejNejNe�fd.ee(ee(�fd/e(fd0ee(e�fd1e(jRfd2ee(e�d3fd4ee(e�d5feefgeejTd6fe+d6�gd7ed6fd8ezd9zejXd6fgd:�ee<��7d;�Z-y<)=ra�
    For C# source code.

    Additional options accepted:

    `unicodelevel`
      Determines which Unicode characters this lexer allows for identifiers.
      The possible values are:

      * ``none`` -- only the ASCII letters and numbers are allowed. This
        is the fastest selection.
      * ``basic`` -- all Unicode characters from the specification except
        category ``Lo`` are allowed.
      * ``full`` -- all Unicode characters as specified in the C# specs
        are allowed.  Note that this means a considerable slowdown since the
        ``Lo`` category has more than 40,000 characters in it!

      The default value is ``basic``.

      .. versionadded:: 0.8
    zC#z/https://docs.microsoft.com/en-us/dotnet/csharp/)�csharpzc#�csz*.csz
text/x-csharp�@?[_a-zA-Z]\w*�@?[_�Lu�Ll�Lt�Lm�Nl�]�[�Nd�Pc�Cf�Mn�Mc�]*�	@?(?:_|[^�Lo�])�[^��none�basic�fullT�
^([ \t]*)((?:�(?:\[\])?\s+)+?)(�
)(\s*)(\()�^(\s*)(\[.*?\])�[^\S\n]+�(\\)(\n)�//.*?\n�/[*].*?[*]/�\n)(z>>>=z>>=z<<=�<=�>=�+=�-=�*=�/=z%=z&=z|=z^=z??=z=>z??z?.�!=�==�&&�||z>>>�>>�<<�++�--�+�-�*�/�%�&�|�^�<�>�?�!�~�=�=~|!=|==|<<|>>|[-+/*%=<>&^|]z[()\[\];:,.]�[{}]�
@"(""|[^"])*"�!\$?"(\\\\|\\[^\\]|[^"\\\n])*["\n]�
'\\.'|'[^\\]'�B[0-9]+(\.[0-9]*)?([eE][+-][0-9]+)?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?zb(#)([ \t]*)(if|endif|else|elif|define|undef|line|error|warning|region|endregion|pragma)\b(.*?)(\n)�\b(extern)(\s+)(alias)\ba(abstract|as|async|await|base|break|by|case|catch|checked|const|continue|default|delegate|do|else|enum|event|explicit|extern|false|finally|fixed|for|foreach|goto|if|implicit|in|interface|internal|is|let|lock|new|null|on|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|true|try|typeof|unchecked|unsafe|virtual|void|while|get|set|new|partial|yield|add|remove|value|alias|ascending|descending|from|group|into|orderby|select|thenby|where|join|equals)\b�(global)(::)zk(bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var)\b\??z(class|struct)(\s+)�class�(namespace|using)(\s+)�	namespace�#pop�(?=\()�(�|\.)+��rootrhrjc��t|dt|j�d�}||jvr!|jj|�|_n|j||_tj|fi|��y�N�unicodelevelr9�	r�list�tokens�_all_tokens�	__class__�process_tokendef�_tokensr�__init__��self�options�levels   �8/usr/lib/python3/dist-packages/pygments/lexers/dotnet.pyr{zCSharpLexer.__init__�sd���w���T�[�[�8I�7�S����(�(�(��>�>�:�:�5�A�D�L��+�+�E�2�D�L����D�,�G�,�N).�__name__�
__module__�__qualname__�__doc__�name�url�aliases�	filenames�	mimetypes�re�	MULTILINE�DOTALL�flags�uni�combine�	allexcept�levelsrv�token_variants�items�	levelname�cs_identrrrrr�Functionr�	Attributerr
�Single�	Multiliner
rr�Charr�Preprocr�Type�Classr	�	Namespacer{�r�r�rrs���,�D�
;�C�$�G���I� �!�I��L�L�2�9�9�$�E�"��;�3�;�;�t�T�4��t�D�D�s�J���#����D�$��d�D�$��$(�$��6�6�8<�=������t�T�4��t�T�B�C�EI�J���%��
�
�d�D�$��d�D�&*�D�$��d�D�D�GK�K�	�F��F��N�%�|�|�~�>
��	�8�"�H�,�0�� �!�$���*�e�D�k�4�=�=�*�%�'�(�
$�X�j�$�.�.�%I�J��j�)��h�t�Z�8�9��W�^�^�,���!2�!2�3��
�#����
��1�(�;� �+�.��+�&�!�6�*�5�v�>�!�6�;�;�/�5�6<�>�K��'�/�/�:�w���!�/�/�:�7�8�-�h�w�
��/��#�%,�-�!�(�7�K�"@�A�C�DK�L�L�R�'��'�:�)F��P�*�H�W�j�,I�;�W��4� �e3�j�4�:�:�v�.�����
�D�&�)��x��(�*�D�N�N�F�C��s=
��y��>
�@-r�rc"�`�eZdZdZdZdZdgZdgZdgZe	je	jzZdde
jd	d
ddd
�zdzdze
jd	d
ddd
ddddd�
zdzde
jd	d
dddd
�zdzdze
jd	d
dddd
ddddd�zdzd�ZiZdZej'�D�]�\ZZdezdzezdzeeee�ej6ee�fdeeej:�fd efd!eee�fd"ej@fd#ejBfd$efd%ee"ee"�d&fd'ee"ee"�d(fd)e"d*fd+ezd,zee#ee#�fd-e#fd.ezefd/eee�d0fd1efd2efd3e"fd4e"fd5e"jHfd6e%fd7e%fd8eejLeejL�d9fd:ee#ee#�fd;e#fd<ee#e�fd=e#jNfd>ezd?zeeee#jN�fd@ee#e�dAfdBee#e�dCfeefgeejPdDfgdEejLfdFefd$edDfgdGedDfdHezdIzejRdDfgdJe"fd.ezefd/eee�d0fdKe"fdLe"dDfgdMe"fd.ezefd/eee�d0fd)e"dNfdOe"dDfgdPe"fd)e"dNfdOe"dDfgdQe#fdRefeefdSe%fdTedNfdUedDfgdV�ee<���dW�Z*dX�Z+yY)Zra�
    For Nemerle source code.

    Additional options accepted:

    `unicodelevel`
      Determines which Unicode characters this lexer allows for identifiers.
      The possible values are:

      * ``none`` -- only the ASCII letters and numbers are allowed. This
        is the fastest selection.
      * ``basic`` -- all Unicode characters from the specification except
        category ``Lo`` are allowed.
      * ``full`` -- all Unicode characters as specified in the C# specs
        are allowed.  Note that this means a considerable slowdown since the
        ``Lo`` category has more than 40,000 characters in it!

      The default value is ``basic``.

    .. versionadded:: 1.5
    �Nemerlezhttp://nemerle.org�nemerlez*.nztext/x-nemerler$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7Tr;r<r=r>r?r@rArBrCz(\$)(\s*)(")�
splice-stringz
(\$)(\s*)(<#)�splice-string2z<#�recursive-stringz(<\[)(\s*)(z:)?z\]\>z\$z(\$)(\()�splice-string-contentz[~!%^&*()+=|\[\]:;,.<>/?-]rarbz"(\\\\|\\[^\\]|[^"\\\n])*["\n]rdz0[xX][0-9a-fA-F]+[Ll]?z*[0-9](\.[0-9]*)?([eE][+-][0-9]+)?[flFLdD]?zY(#)([ \t]*)(if|endif|else|elif|define|undef|line|error|warning|region|endregion|pragma)\b�preprocrfa�(abstract|and|as|base|catch|def|delegate|enum|event|extern|false|finally|fun|implements|interface|internal|is|macro|match|matches|module|mutable|new|null|out|override|params|partial|private|protected|public|ref|sealed|static|syntax|this|throw|true|try|type|typeof|virtual|volatile|when|where|with|assert|assert2|async|break|checked|continue|do|else|ensures|for|foreach|if|late|lock|new|nolate|otherwise|regexp|repeat|requires|return|surroundwith|unchecked|unless|using|while|yield)\brgzo(bool|byte|char|decimal|double|float|int|long|object|sbyte|short|string|uint|ulong|ushort|void|array|list)\b\??z(:>?)(\s*)(z\??)z"(class|struct|variant|module)(\s+)rhrirjrkz\w+z[ \t]+rlrmrnz[^"$]z\\"�"z[^#<>$]�#pushz#>z[^#<>]zif|matchz[~!%^&*+=|\[\]:;,.<>/?-\\"$ ]�\d+�\(�\))rprhr�rjr�r�r�r�c��t|dt|j�d�}||jvr!|jj|�|_n|j||_tj|fi|��yrrrtr|s   r�r{zNemerleLexer.__init__0sg���w���T�[�[�8I�&�(����(�(�(��>�>�:�:�5�A�D�L��+�+�E�2�D�L����D�,�G�,r�c��d}d|vr|dz
}|S)zUNemerle is quite similar to Python, but @if is relatively uncommon
        elsewhere.rz@ifg�������?r���text�results  r��analyse_textzNemerleLexer.analyse_text;s�����D�=��c�M�F��
r�N),r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rvr�r�r�r�rrrrrr�rr�rr
r�r�rrr�rr�r�r�r�r{r�r�r�r�rr�s����,�D�
�C��k�G���I�!�"�I��L�L�2�9�9�$�E�"��;�3�;�;�t�T�4��t�D�D�s�J���#����D�$��d�D�$��$(�$��6�6�8<�=������t�T�4��t�T�B�C�EI�J���%��
�
�d�D�$��d�D�&*�D�$��d�D�D�GK�K�	�F��F��N�%�|�|�~�j
��	�8�"�H�,�0�� �!�$���*�e�D�k�4�=�=�*�%�'�(�
$�X�j�$�.�.�%I�J��j�)��h�t�Z�8�9��W�^�^�,���!2�!2�3��
�#� �(�6�:�v�"F�#�%�!�8�F�J��#G�$�&��� 2�3��(�*�U�2��'�:�w�7�9��'�"���!�4�(��h�t�[�9�(�*�/��<��+�&�!�6�*�2�F�;�!�6�;�;�/�*�F�3�>��G�B��'�/�/�:�w���G��T�-�h�w�
�G�.T�U�:�<C�D�!�(�7�K�"@�A�I����� �(�*�W�4��+�z�7�<�<�@�B�6��'�:�.��9�*�H�W�j�,I����4� �{>�@�4�:�:�v�.������)��J�'��
�F�+���D�&�)��x��(�*�D�N�N�F�C��
�F�#���!�4�(��h�t�[�9�(�*��&�!����'�
��f�%���!�4�(��h�t�[�9�(�*����)����(�
��V�$����)����(�!��g�&�1�;�?��4� ��� ���W�-���V�,�
&�Ci
��y��j
�X	-�r�rc��eZdZdZdZdZdgZdgZdgZde	fde
jfd	e
jd
fde
fdeee	�fd
efdej"fdej&fdej&fdefdefdefdeee	�dfdeee	�dfdeee	�dfdej,fdej.fdej.fdejfdefdej2fd efd!ej4fd"ej6fd#ej8j:fd$ej8fgd	e
jd%fd&e
jd'fd(e
jfd)e
jfgdej<d'fgdej>d'fgd*ej@d'fgd+�Z!y,)-rz
    For Boo source code.
    �Boozhttps://github.com/boo-lang/boo�booz*.booz
text/x-boo�\s+z	(#|//).*$z/[*]�commentz[]{}:(),.;[]r@z\\z(in|is|and|or|not)\bz/(\\\\|\\[^\\]|[^/\\\s])/z@/(\\\\|\\[^\\]|[^/\\])*/r`aO(as|abstract|callable|constructor|destructor|do|import|enum|event|final|get|interface|internal|of|override|partial|private|protected|public|return|set|static|struct|transient|virtual|yield|super|and|break|cast|continue|elif|else|ensure|except|for|given|goto|if|in|is|isa|not|or|otherwise|pass|raise|ref|try|unless|when|while|from|as)\bzdef(?=\s+\(.*?\))z
(def)(\s+)�funcnamez(class)(\s+)�	classnamez(namespace)(\s+)rjz�(?<!\.)(true|false|null|self|__eval__|__switch__|array|assert|checked|enumerate|filter|getter|len|lock|map|matrix|max|min|normalArrayIndexing|print|property|range|rawArrayIndexing|required|typeof|unchecked|using|yieldAll|zip)\bz"""(\\\\|\\"|.*?)"""z"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*'z[a-zA-Z_]\w*z%(\d+\.\d*|\d*\.\d+)([fF][+-]?[0-9]+)?z[0-9][0-9.]*(ms?|d|h|s)z0\d+z0x[a-fA-F0-9]+z\d+Lr�r�z[*]/rkz[^/*]z[*/]z[a-zA-Z_][\w.]*)rpr�r�r�rjN)"r�r�r�r�r�r�r�r�r�rr
r�r�rrrr�Wordr�Regexrr�Builtin�Doubler�Float�Oct�Hex�Integer�Longr�r�r�rvr�r�r�rrFs����D�
+�C��g�G��	�I���I��Z� �
�7�>�>�*�
�g�'�'��3�
�k�*�
�(�4��4�5�
�D�M�
$�h�m�m�4�
)�6�<�<�8�
)�6�<�<�8�
,�h�7�!�#*�

+�"�7�+�
�H�W�j�9�:�F�
�h�w�
�;�[�I�
 �(�7�J�"?��M� �"&���	
/�
%�f�m�m�4�
(�&�-�-�8�
(�&�-�-�8�
�d�#�
5�v�|�|�D�
'��0�
�f�j�j�!�
��
�
�+�
�f�n�n�)�)�*�
�V�^�^�$�I%
�N�W�&�&��0�
�W�&�&��/�
�g�'�'�(�
�W�&�&�'�	
��d�m�m�V�4�
��d�j�j�&�1�
� �����8�
�g6�Fr�rc���eZdZdZdZdZgd�ZddgZddgZd	e	jd
ddd
�zdzdze	jd
ddd
ddddd�	zdzZejejzZdej"fdefdefdeee�fdeee�fdej*fdefdeej0eej0eej0�feddd �!�efd"ed#fd$ed%fd&eee�d'fd(eee�d)fd*eee�d+fd,ej4fd-ej8fd.efd/ed0fd1eee�fed2zefd3ej@fd4e!jDfd5e!jFfd6e!jFfd7e!jFfgd8efd9ed:fd;efgeejHd:fe%d:�geejLd:fgeejNd:fgeejPfd<ejPfe%d:�gdefd=ed:fe%d:�gd>�Z)d?�Z*y@)Arzo
    For Visual Basic.NET source code.
    Also LibreOffice Basic, OpenOffice Basic, and StarOffice Basic.
    zVB.netz5https://docs.microsoft.com/en-us/dotnet/visual-basic/)zvb.net�vbnet�lobas�oobas�sobasz*.vbz*.basztext/x-vbnetz
text/x-vbaz[_r'r(r)r*r+r,r-r.r/r0r1r2z	^\s*<.*?>r�rCz(rem\b.*?)(\n)z
('.*?)(\n)z�#If\s.*?\sThen|#ElseIf\s.*?\sThen|#Else|#End\s+If|#Const|#ExternalSource.*?\n|#End\s+ExternalSource|#Region.*?\n|#End\s+Region|#ExternalChecksumz[(){}!#,.:]z?(Option)(\s+)(Strict|Explicit|Compare)(\s+)(On|Off|Binary|Text))l�
AddHandler�Alias�ByRef�ByVal�Call�Case�Catch�CBool�CByte�CChar�CDate�CDec�CDbl�CInt�CLng�CObj�Continue�CSByte�CShort�CSng�CStr�CType�CUInt�CULng�CUShort�Declare�Default�Delegate�
DirectCast�Do�Each�Else�ElseIf�EndIf�Erase�Error�Event�Exit�False�Finally�For�Friend�Get�Global�GoSub�GoTo�Handles�If�
Implements�Inherits�	Interface�Let�Lib�Loop�Me�MustInherit�MustOverride�MyBase�MyClass�	Narrowing�New�Next�Not�Nothing�NotInheritable�NotOverridable�Of�Onr�Option�Optional�	Overloads�Overridable�	Overrides�
ParamArray�Partial�Private�	Protected�Public�
RaiseEvent�ReadOnly�ReDim�
RemoveHandler�Resume�Return�Select�Set�Shadows�Sharedr��Static�Step�Stop�SyncLock�Then�Throw�To�True�Try�TryCast�Wend�Using�When�While�Widening�With�
WithEvents�	WriteOnlyz(?<!\.)�\b)�prefix�suffixz(?<!\.)End\b�endz(?<!\.)(Dim|Const)\b�dimz#(?<!\.)(Function|Sub|Property)(\s+)r�z"(?<!\.)(Class|Structure|Enum)(\s+)r�z&(?<!\.)(Module|Namespace|Imports)(\s+)rjz|(?<!\.)(Boolean|Byte|Char|Date|Decimal|Double|Integer|Long|Object|SByte|Short|Single|String|Variant|UInteger|ULong|UShort)\bzU(?<!\.)(AddressOf|And|AndAlso|As|GetType|In|Is|IsNot|Like|Mod|Or|OrElse|TypeOf|Xor)\bzE&=|[*]=|/=|\\=|\^=|\+=|-=|<<=|>>=|<<|>>|:=|<=|>=|<>|[-&*/\\^+=<>\[\]]r��stringz(_)(\n)z	[%&@!#$]?z#.*?#z"(\d+\.\d*|\d*\.\d+)(F[+-]?[0-9]+)?z\d+([SILDFR]|US|UI|UL)?z&H[0-9a-f]+([SILDFR]|US|UI|UL)?z&O[0-7]+([SILDFR]|US|UI|UL)?�""z"C?rk�[^"]+�\.z?(Function|Sub|Property|Class|Structure|Enum|Module|Namespace)\b)rpr8r7r�r�rjr6c�P�tjd|tj�ryy)Nz^\s*(#If|Module|Namespace)g�?)r��searchr��r�s r�r�zVbNetLexer.analyse_text�s ��
�9�9�2�D�"�,�,�G��Hr�N)+r�r�r�r�r�r�r�r�r�r�r��uni_namer�r��
IGNORECASEr�rr�rrr
r�rr�Declarationr
r�rr�rrr�Daterr�r��Variabler	r�r�r�rvr�r�r�r�rr�s����
�D�
A�C�<�G���!�I���.�I��k�c�k�k�$��d�D�9�9�C�?��� �S�[�[��t�T�4��t�!%�t�T�3�3�59�:�H�
�L�L�2�=�=�(�E��4�>�>�*�
�Z� �
�J��
���*� =�>�
�H�W�j�9�:�=��_�_�
��[�)�%�
�g�)�)�:�w�7J�7J� �'�"5�"5�7�
8��?�&%�U�'4�&6=�'
>�(�g�u�-�
$�g�u�5�
3�
�g�z�
*�J�
8�
2�
�g�z�
*�K�
9�
6�
�g�z�
*�K�
9��"�<�<�
)�(�)1���
8�+�
�
��&�(�#�
��$�
�3�4�
��
#�T�*�
�g�l�l�#�
2�F�L�L�A�
'����8�
/����@�
,�f�n�n�=�u;
�z�F�O�
�V�V�$�
�v��
��t�}�}�f�-��F�O�
�
�t�}�}�f�-�
��t�z�z�6�*�
��t�~�~�&�
�D�N�N�#��F�O�
��Z� �
O�
�f�
��F�O�	
�cW�F�rr�rc
���eZdZdZdZgZgZejZ	dde
eje
ej�fde
ee�e
ee��fdee�fdee�fgiZy)	�GenericAspxLexerz"
    Lexer for ASP.NET pages.
    zaspx-genrpz(<%[@=#]?)(.*?)(%>)z(<script.*?>)(.*?)(</script>)z
(.+?)(?=<)z.+N)r�r�r�r�r�r�r�r�r�r�rr�Tagrrrrvr�r�r�rErE�s�����D��I��I��I�I�E�	�
#�X�d�h�h��t�x�x�%H�I�
-�x��h��8=�8=�h��0I�
J��E�(�O�,�
�E�(�O�$�

�	�Fr�rEc�>��eZdZdZdZdgZgd�ZgZ�fd�Zd�Z	�xZ
S)rz9
    Lexer for highlighting C# within ASP.NET pages.
    zaspx-cs�z*.aspxz*.asaxz*.ascxz*.ashxz*.asmxz*.axdc�8��t�|�ttfi|��y�N)�superr{rrE�r}r~rxs  �r�r{zCSharpAspxLexer.__init__s���
����&6�B�'�Br�c��tjd|tj��ytjd|tj��yy)NzPage\s*Language="C#"皙�����?zscript[^>]+language=["\']C#�333333�?�r�r=�Ir>s r�r�zCSharpAspxLexer.analyse_text�>��
�9�9�,�d�B�D�D�9�E��
�Y�Y�5�t�R�T�T�
B�
N��Or��r�r�r�r�r�r�r�r�r{r��
__classcell__�rxs@r�rrs+�����D��k�G�K�I��I�C�r�rc�>��eZdZdZdZdgZgd�ZgZ�fd�Zd�Z	�xZ
S)rzG
    Lexer for highlighting Visual Basic.net within ASP.NET pages.
    zaspx-vbrHc�8��t�|�ttfi|��yrJ)rKr{rrErLs  �r�r{zVbNetAspxLexer.__init__/s���
����%5�A��Ar�c��tjd|tj��ytjd|tj��yy)NzPage\s*Language="Vb"rNzscript[^>]+language=["\']vbrOrPr>s r�r�zVbNetAspxLexer.analyse_text2rRr�rSrUs@r�rr%s+�����D��k�G�K�I��I�B�r�rc��eZdZdZdZdZddgZgd�ZdgZgd�Z	e	gd	�z
Z	gd
�Z
dZgd�Zd
Z
dZgd�Zdej"fdej"fdej"fdej"fggdef�dej(j*f�dej,df�def�deej0e�f�deej4e�f�dedf�dedf�ded f�d!ed"f�d#eeeej,�f�d$eeeej8�f�d%eeeej:�f�d&eeeeeej>�f�d'd(jAe	�zef�d)ef�d*d(jAe
�ze!f�d+e�d(e
�d,e��e!f�d'd(jAe�ze!jDf�d'd(jAe�zejFf�d-eejHeejHejHe�f�d.ef�d/e%jLf�d0e%jNf�d1e%jPf�d2e%jRf�d3e%jTf�d4ejVf�d5ejVf�d6ef�d7ejXd"f�d8ej8f�defd9efd:ej,fd;ed<fd=ed<fe-d<�gd>efd?ed@fdAed<fdedfded fd!ed"fdBefgdCefe.dD�dEefdFefdGed<fgdHefdFefdIefdGed<fgdHefdFefdJed<fd!efgdK�Z/dL�Z0yM)NrzG
    For the F# language (version 3.0).

    .. versionadded:: 1.5
    zF#zhttps://fsharp.org/�fsharpzf#)z*.fsz*.fsiz*.fsxz
text/x-fsharp)B�abstract�as�assert�base�beginrhr	�delegatezdo!�do�done�downcast�downto�elif�elser6�	exception�extern�false�finally�for�function�fun�global�if�inherit�inline�	interface�internal�in�lazyzlet!�let�match�member�module�mutablerj�new�null�of�open�override�private�public�reczreturn!�return�select�static�struct�then�to�true�try�type�upcastzuse!�use�val�void�when�while�withzyield!�yield)�atomic�break�checked�	component�const�
constraint�constructor�continue�eager�event�external�fixed�functorr�method�mixin�object�parallel�process�	protected�pure�sealed�tailcall�trait�virtual�volatile)+rJ�#rLrWr�r�z\*z\+�,z-\.z->rSz\.\.r;z::z:=z:>�:z;;�;z<-z<\]rZz>\]r[z\?\?z\?z\[<z\[\|z\[z\]�_�`z\{z\|\]z\|z\}r^z<@@z<@r_z@>z@@>z[!$%&*+\./:<=>?@^|~-])�and�or�notz[!?~]z[=<>@^|&+\*/$%-])�sbyte�byte�char�	nativeint�
unativeint�float32�single�float�double�int8�uint8�int16�uint16�int32�uint32�int64�uint64�decimal�unit�boolr8ru�exn�obj�enumz\\[\\"\'ntbrafv]z
\\[0-9]{3}z\\u[0-9a-fA-F]{4}z\\U[0-9a-fA-F]{8}r�z	\(\)|\[\]z \b(?<!\.)([A-Z][\w\']*)(?=\s*\.)�dottedz\b([A-Z][\w\']*)z(///.*?)(\n)z(//.*?)(\n)z
\(\*(?!\))r�z@"�lstringz"""�tqsr�r8z\b(open|module)(\s+)([\w.]+)z\b(let!?)(\s+)(\w+)z\b(type)(\s+)(\w+)z&\b(member|override)(\s+)(\w+)(\.)(\w+)z\b(%s)\brXz``([^`\n\r\t]|`[^`\n\r\t])+``z(%s)rmz)?z;(#)([ \t]*)(if|endif|else|line|nowarn|light|\d+)\b(.*?)(\n)z
[^\W\d][\w']*z\d[\d_]*[uU]?[yslLnQRZINGmM]?z-0[xX][\da-fA-F][\da-fA-F_]*[uU]?[yslLn]?[fF]?z0[oO][0-7][0-7_]*[uU]?[yslLn]?z0[bB][01][01_]*[uU]?[yslLn]?z/-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)[fFmM]?z9'(?:(\\[\\\"'ntbr ])|(\\[0-9]{3})|(\\x[0-9a-fA-F]{2}))'B?z'.'�'z@?"z[~?][a-z][\w\']*:r;z[A-Z][\w\']*(?=\s*\.)z[A-Z][\w\']*rkz
[a-z_][\w\']*z	[^(*)@"]+z\(\*r�z\*\)z[(*)@]z[^\\"]+�escape-sequencez\\\nrCz"B?r:r9z"""B?)r�rpr�r�r8r�r�c�.�d}d|vr|dz
}d|vr|dz
}|S)zSF# doesn't have that many unique features -- |> and <| are weak
        indicators.rz|>g�������?z<|r�r�s  r�r�zFSharpLexer.analyse_text�s.�����4�<��d�N�F��4�<��d�N�F��
r�N)1r�r�r�r�r�r�r�r�r��keywords�keyopts�	operators�word_operators�prefix_syms�
infix_syms�
primitivesr�Escaperrr��Pseudor�r�Docr
r�rrCr�rr��joinrr�r�r�rr�r�r��Binr�r�r�r	rrvr�r�r�r�rr:s�����D�
�C����G�*�I� �!�I�
�H�
���H��G�)�I�)�N��K�$�J��J�!�&�-�-�0�
�F�M�M�*�
!�6�=�=�1�
!�6�=�=�1�	
�1
�
�Z� �1
�
�4�<�<�.�.�/�1
�1�
�^�^�X�
'�1
�
!�$�'�1
��h�v�z�z�:�>�?�
1
��X�g�n�n�j�A�B�1
��G�Y�/�1
��F�I�&�1
��V�U�#�1
��6�8�$�1
�-�
�g�z�4�>�>�
:�
<�1
� $�
�g�z�4�=�=�
9�
;�!1
�$#�
�g�z�4�:�:�
6�
8�%1
�(7�
�g�z�4��d�m�m�
L�
N�)1
�,�3�8�8�H�-�
-�w�7�-1
�..�t�4�/1
�0�s�x�x��(�
(�(�3�11
�2)�+�y�
A�8�L�31
�4�3�8�8�N�3�
3�X�]�]�C�51
�6�3�8�8�J�/�
/����>�71
�8L�
�g�o�o�z�7�?�?��o�o�z�3�
4�91
�@�t�$�A1
�D.�v�~�~�>�E1
�F>�v�z�z�J�G1
�H/��
�
�;�I1
�J-�f�j�j�9�K1
�L@�
�\�\�
�M1
�RJ�
�[�[�
�S1
�V�V�[�[�!�W1
�X�7�O�Y1
�\�V�]�]�H�-�]1
�`"�4�=�=�1�a1
�f�Z� �
�K� �
%�t�~�~�6�
�d�F�+�
�t�V�,��F�O�
��7�#�
�g�w�'�
�g�v�&�
�F�I�&�
�V�U�#�
�6�8�$�
�� �	
��� ��%�&�
�f��
�F�O�
�V�V�$�
��v��
�F�O�
�F�O�
�V�V�$�	
��v��
�F�O�
�v�v�&�
�6�N�	
�s_�F�B	r�rc�*�eZdZdZdZdZddgZdgZejZ
dejdd	d
ddd
�zdzdzejdd	d
ddd
ddddd�zdzZ
e
jdd�Z
dZdZdZdZiZdeeeee��fde
zdze
zdzeeee�ej4ee�fd eeej8ej:j<ej8�fd!efd"eee�fd#e jBfd$e jDfd%efe#e�e$fd&e$fd'efd(efd)e%fd*e%fd+e%jLfd,e'fe#ed-�.�efd/ejPfd0eee�d1fd2e
zd3zeej:j<e�fd4eeej:j<ee��fd5e
zd6ze
zd7zeee�ej:j<ee�ejRee��fd8e
zd7zeee�ej:j<ee��fe#ed9�.�ej4jTfe#ed9�.�ej4jTfe
efge
ej<d:fe+d:�gd9ed:fd2e
zd;zejXd:fgd<�Zy=)>r zc
    For X++ source code. This is based loosely on the CSharpLexer

    .. versionadded:: 2.15
    zX++zchttps://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/dev-ref/xpp-language-reference�xppzx++z*.xppr3r&r'r(r)r4r*r5r6r-r.r/r0r1r2��)rDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_)_r[�anytyper\�async�asc�at�avgr��
breakpoint�by�byref�case�catch�
changecompany�client�	containerr��count�crosscompanyr	r`�delete_from�desc�display�divra�editrf�element�eventhandler�existsri�final�	firstfast�	firstonly�firstonly10�firstonly100�
firstonly1000�flushrk�
forceliterals�forcenestedloop�forceplaceholders�forceselectorder�	forupdate�from�groupro�insert_recordsetrr�isr��like�maxof�minof�modr{�next�nofetch�	notexistsr|�optimisticlock�order�outer�pause�pessimisticlock�printr�r�r��repeatableread�retryr��reverser��server�settingr��sumrK�switch�	tablelockr�throwr�r��ttsabort�ttsbegin�	ttscommit�update_recordset�validtimestater��wherer��window)��	_duration�abs�acos�any2Date�any2Enum�any2Guid�any2Int�	any2Int64�any2Real�any2Str�	anytodate�	anytoenum�	anytoguid�anytoint�
anytoint64�	anytoreal�anytostr�asin�atan�beep�cTerm�char2Num�
classIdGet�corrFlagGet�corrFlagSet�cos�cosh�curExt�	curUserId�date2Num�date2Str�datetime2Str�dayName�dayOfMth�dayOfWk�dayOfYr�ddb�decRound�dg�dimOf�endMth�enum2str�exp�exp10�fV�fieldId2Name�
fieldId2PName�fieldName2Id�frac�funcName�getCurrentPartition�getCurrentPartitionRecId�	getPrefix�guid2Str�idg�indexId2Name�indexName2Id�int2Str�	int642Str�intvMax�intvName�intvNo�intvNorm�log10�logNrw�max�min�mkDate�mthName�mthOfYr�newGuid�nextMth�nextQtr�nextYr�num2Char�num2Date�num2Str�pmt�power�prevMth�prevQtr�prevYr�prmIsDefault�pt�pv�rate�refPrintAll�round�runAs�	sessionId�	setPrefix�sin�sinh�sleep�sln�str2Date�str2Datetime�str2Enum�str2Guid�str2Int�	str2Int64�str2Num�str2Time�strAlpha�strCmp�	strColSeq�strDel�strFind�strFmt�strIns�strKeep�strLTrim�strLen�strLine�strLwr�strNFind�strPoke�	strPrompt�strRTrim�strRem�strRep�strScan�strUpr�subStr�syd�
systemDateGet�
systemDateSet�tableId2Name�
tableId2PName�tableName2Id�tan�tanh�term�time2Str�timeNow�today�trunc�typeOf�uint2Str�wkOfYr�year)M�attributeStr�classNum�classStr�configurationKeyNum�configurationKeyStr�dataEntityDataSourceStr�delegateStr�dimensionHierarchyLevelStr�dimensionHierarchyStr�dimensionReferenceStr�dutyStr�enumCnt�enumLiteralStr�enumNum�enumStr�extendedTypeNum�extendedTypeStr�fieldNum�
fieldPName�fieldStr�formControlStr�formDataFieldStr�formDataSourceStr�
formMethodStr�formStr�
identifierStr�indexNum�indexStr�licenseCodeNum�licenseCodeStr�
literalStr�maxDate�maxInt�
measureStr�measurementStr�menuItemActionStr�menuItemDisplayStr�menuItemOutputStr�menuStr�	methodStr�minInt�privilegeStr�queryDatasourceStr�queryMethodStr�queryStr�	reportStr�resourceStr�roleStr�
ssrsReportStr�staticDelegateStr�staticMethodStr�tableCollectionStr�tableFieldGroupStr�tableMethodStr�tableNum�
tablePName�tableStaticMethodStr�tableStr�tileStr�varStr�webActionItemStr�webDisplayContentItemStr�
webFormStr�
webMenuStr�webOutputContentItemStr�webReportStr�webSiteTempStr�webStaticFileStr�
webUrlItemStr�
webWebPartStr�
webletItemStr�
webpageDefStr�
websiteDefStr�workflowApprovalStr�workflowCategoryStr�workflowTaskStr�workflowTypeStrz(\s*)\b(else|if)\b([^\n])r;r<r=z^(\s*)(\[)([^\n]*?)(\])r?r@z//[^\n]*?\nz/[*][^\n]*?[*]/rCr`z[()\[\];:,.#@]rarbrcrdrer3)r5z+(boolean|int|int64|str|real|guid|date)\b\??z&(class|struct|extends|implements)(\s+)rhrmz)(::)z(\s*)(\w+)(\s+\w+(,|=)?[^\n]*;)z
(fieldNum\()(z)(\s*,\s*)(z)(\s*\))z
(tableNum\()(rlrkrnroN)-r�r�r�r�r�r�r�r�r�r�r�r�r��	XPP_CHARS�replace�	OPERATORS�KEYWORDS�RUNTIME_FUNCTIONS�COMPILE_FUNCTIONSrvrrrrrrr�rr�rCr�rr
r�r�r
rrr�rr��Property�Magicr	r�r�r�r�r r �s`����D�
o�C��e�n�G��	�I��L�L�E������t�T�4��t�T�B�C�EI�J���%��
�
�d�D�$��d�D�&*�D�$��d�D�D�GK�K�I��!�!�&�&�1�I��I�
b�H�N��	L���F�
*�8�J���t��+U�V�
�	�
)�-�� �!�$����U�4�[�$�-�-��#�%�
&�
(��*�d�n�n�d�m�m�Na�Na�cg�cq�cq�)r�s�
�*�%�
�(�4��4�5�
�W�^�^�,�
��!2�!2�3�
�J��
�9�
�x�(�
,�h�7�
��,�
�k�"�
�v�&�
1�6�:�
�v�{�{�+�4�5;�
=�
�8�E�
*�G�4�
;�W�\�\�J�
6���*�8U�W^�_�
�)�^�G�
#�X�d�m�m�.A�.A�;�%O�P�
/��*�d�m�m�FY�FY�[`�ae�[f�1g�h�
�i�
'��
6�y�
@��
L���t��d�m�m�&9�&9�5��;��
�
�W\�]a�Wb�c�
e��i�
'��
3���t��d�m�m�&9�&9�5��;�G�
I�
�$�Y�
7����9L�9L�M�
�$�Y�
7����9L�9L�M�
���I%
�N��
�
�F�+��F�O�
�
��f�%�
�9�_�x�
'�����@�
�W/�Fr�r )(r�r��pygments.lexerrrrrrrr	r
�pygments.tokenrrr
rrrrrrrr�
pygments.utilr�pygmentsrr��pygments.lexers.htmlr�__all__rrrrrErrrr r�r�r��<module>rs����
� � � �5�5�5�5�(�%�)�K��x-�*�x-�vo�:�o�dA�z�A�Hl��l�^�z��0�o��(�_��*_�*�_�Dm�z�mr�