�
|�e� � � � 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� Zy)z�
pygments.lexers.diff
~~~~~~~~~~~~~~~~~~~~
Lexers for diff/patch formats.
:copyright: Copyright 2006-2023 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
�T � 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 � fd ee
e � fgiZd� Zy)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*(@.*|\d(?:,\d+)?(?:a|c|d)\d+(?:,\d+)?)(\n)z((?:[Ii]ndex|diff).*)(\n)z (=.*)(\n)�(.*)(\n)c �: � | d d dk( ry| d d dk( ry| d d dk( ryy ) N� zIndex: T� zdiff � z--- g�������?� )�texts �6/usr/lib/python3/dist-packages/pygments/lexers/diff.py�analyse_textzDiffLexer.analyse_text. s: � ����8�y� �����8�w������8�v��� � N)�__name__�
__module__�__qualname__�__doc__�name�aliases� filenames� mimetypesr r
r r �Strong�Deleted�Inserted�
Subheading�Heading�tokensr r r r r r s� � �� �D��w��G��9�%�I���/�I� �
�X�j�$�
�C�D�
�x����
�C�D�
�(�7�?�?�J�"G�H�
!�8�G�,<�,<�j�#I�J�=���+�+�Z�8�
� *�8�G�O�O�Z�+P�Q�
�8�G�O�O�Z�@�A�
�(�4��4�5�
��F� r r c �0 � e Zd ZdZdZdgZddgZdZdefdefd efd
efd e ee
eeeee
j ee� fd e ee
eeeee
j e� d
fdej fdej fdej fddj# e� z e ee
ee� fdej& |