File: //lib/python3/dist-packages/pygments/lexers/__pycache__/diff.cpython-311.pyc
�
�E�c, � � � 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-2022 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 �6 � e Zd ZdZdZddgZddgZddgZd d
ee e
e � � fd eej e � � fd eej
e � � fd
eej e � � fd eej e � � fd eej e � � fd eej e � � fde fgiZd� ZdS )r z>
Lexer for unified or context-style diffs or patches.
�Diff�diff�udiffz*.diffz*.patchztext/x-diffztext/x-patch�rootz( )(.*)(\n)z
(\+.*)(\n)z (-.*)(\n)z (!.*)(\n)z (@.*)(\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 �6/usr/lib/python3/dist-packages/pygments/lexers/diff.py�analyse_textzDiffLexer.analyse_text+ sR � �����8�y� � ��4�����8�w����4�����8�v����3� �� N)�__name__�
__module__�__qualname__�__doc__�name�aliases� filenames� mimetypesr r
r r �Inserted�Deleted�Strong�
Subheading�Heading�tokensr r r r r r s � � � � � �� � �D��w��G��9�%�I���/�I� �
�X�X�j�$�
�C�C�D�
�H�H�W�%5�z�B�B�C�
�8�8�G�O�Z�@�@�A�
�8�8�G�N�J�?�?�@�
�8�8�G�$6�
�C�C�D�
)�8�8�G�O�Z�+P�+P�Q�
�8�8�G�O�Z�@�@�A�
�*�%�
��F�� � � � r r c �� � e Zd ZdZdZdgZddgZdZdefdefd efd
efd e ee
eeeee
j ee� � fd e ee
eeeee
j e� � d
fdej fdej fdej fdd� e� � z e ee
ee� � fdej dfdej dfd e ee� � fg
defdedfgdedfdefg ed� � dej fdej fg ed� � dej fdej 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``.
.. versionadded:: 0.10
zDarcs Patch�dpatchz*.dpatchz*.darcspatch)�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*)(%s)(.*)(\n)�|z\+�insert�-�deleter z [^\]].*\nz\]�#popz\nz
\[_[^_]*_]�specialTextz\[z[^\n\[]+)r r9 r? r; r= N)r r! r"