File: //opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/__pycache__/diff.cpython-311.pyc
�
�;f � � � d Z ddlZddlmZmZmZ ddlmZmZm Z m
Z
mZmZm
Z
mZ g d�Z G d� de� � Z G d� d e� � Z G d
� de� � ZdS )z�
pygments.lexers.diff
~~~~~~~~~~~~~~~~~~~~
Lexers for diff/patch formats.
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�
RegexLexer�include�bygroups)�Text�Comment�Operator�Keyword�Name�Generic�Literal�
Whitespace)� DiffLexer�DarcsPatchLexer�
WDiffLexerc
�R � e Zd ZdZdZddgZddgZddgZd Zd
Z dd e
eee� � fd
e
e
j e� � fd e
e
j e� � fd e
e
j e� � fd e
e
j e� � fd e
e
j e� � fd e
e
j e� � fd e
ee� � fgiZd� ZdS )r z>
Lexer for unified or context-style diffs or patches.
�Diff�diff�udiffz*.diffz*.patchztext/x-diffztext/x-patchz"https://en.wikipedia.org/wiki/Diff� �rootz( )(.*)(\n)z
(!.*|---)(\n)z((?:< |-).*)(\n)z((?:> |\+).*)(\n)z*(@.*|\d(?:,\d+)?(?:a|c|d)\d+(?:,\d+)?)(\n)z((?:[Ii]ndex|diff).*)(\n)z (=.*)(\n)�(.*)(\n)c �f � | d d� dk rdS | d d� dk rdS | d d� dk rdS d S ) N� zIndex: T� zdiff � z--- g�������?� )�texts �G/opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/diff.py�analyse_textzDiffLexer.analyse_text0 sR � �����8�y� � ��4�����8�w����4�����8�v����3� �� N)�__name__�
__module__�__qualname__�__doc__�name�aliases� filenames� mimetypes�url�
version_addedr r
r r �Strong�Deleted�Inserted�
Subheading�Heading�tokensr r r r r r s" � � � � � �� � �D��w��G��9�%�I���/�I�
.�C��M� �
�X�X�j�$�
�C�C�D�
�x�x���
�C�C�D�
�(�(�7�?�J�"G�"G�H�
!�8�8�G�,<�j�#I�#I�J�=����+�Z�8�8�
� *�8�8�G�O�Z�+P�+P�Q�
�8�8�G�O�Z�@�@�A�
�(�(�4��4�4�5�
��F� � � � � r r c � � e Zd ZdZdZdgZddgZdZdZdZ d e
fd
e
fde
fde
fd
ee
ee
ee
e
ej ee
� � fd ee
ee
ee
e
ej e� � dfdej fdej fdej fd� d� e � � � � eeeee� � fdej dfdej dfd eee� � fg
defde
dfgdedfde
fg ed� � d ej fd!ej fg ed� � d ej fd!ej fgd"�Zd#S )$r z�
DarcsPatchLexer is a lexer for the various versions of the darcs patch
format. Examples of this format are derived by commands such as
``darcs annotate --patch`` and ``darcs send``.
zDarcs Patch�dpatchz*.dpatchz*.darcspatchzhttps://darcs.netz0.10)�hunk�addfile�adddir�rmfile�rmdir�move�replace�<�>z\{z\}z/(\[)((?:TAG )?)(.*)(\n)(.*)(\*\*)(\d+)(\s?)(\])z+(\[)((?:TAG )?)(.*)(\n)(.*)(\*\*)(\d+)(\s?)�commentzNew patches:zContext:zPatch bundle hash:z(\s*)({})(.*)(\n)�|z\+�insert�-�deleter z [^\]].*\nz\]�#popz\nz
\[_[^_]*_]�specialTextz\[z[^\n\[]+)r r<