Ë
    |í¼ež  ã                   ó–   — d Z ddlZddlmZmZmZ ddlmZmZm	Z	m
Z
mZmZmZmZ g d¢Z G d„ de«      Z G d„ d	e«      Z G d
„ de«      Zy)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 Zd ZdZdZddgZddgZddgZd	d
 ee	e
e	«      fd eej                  e	«      fd eej                  e	«      fd eej                  e	«      fd eej                  e	«      fd eej                   e	«      fd eej                   e	«      fd ee
e	«      fgiZd„ Zy)r   z>
    Lexer for unified or context-style diffs or patches.
    ÚDiffÚdiffÚudiffz*.diffz*.patchztext/x-diffztext/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 dk(  ry| d d dk(  ry| d d dk(  ryy )	Né   zIndex: Té   zdiff é   z--- gÍÌÌÌÌÌì?© )Útexts    ú6/usr/lib/python3/dist-packages/pygments/lexers/diff.pyÚanalyse_textzDiffLexer.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 Zd ZdZdZdgZddgZdZdefdefd	efd
efd e	ee
eeeeej                  ee«	      fd e	ee
eeeeej                  e«      dfdej                   fdej                   fdej                   fddj#                  e«      z   e	ee
ee«      fdej&                  dfdej(                  dfd e	ee«      fgdefdedfgdedfdefg ed«      dej&                  fdej&                  fg ed«      dej(                  fdej(                  fgd œZy!)"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
    zDarcs PatchÚdpatchz*.dpatchz*.darcspatch)ÚhunkÚaddfileÚadddirÚrmfileÚrmdirÚmoveÚreplaceú<ú>z\{z\}z/(\[)((?:TAG )?)(.*)(\n)(.*)(\*\*)(\d+)(\s?)(\])z+(\[)((?:TAG )?)(.*)(\n)(.*)(\*\*)(\d+)(\s?)ÚcommentzNew patches:zContext:zPatch 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"   r#   r$   r%   r&   ÚDPATCH_KEYWORDSr   r   r	   r
   r   r   ÚDater   r,   Újoinr   r*   r)   r   r   r-   r   r   r   r   r   7   s¢  „ ñð €DØˆj€GØ˜^Ð,€Ið"€Oð
 �8ÐØ�8ÐØ�HÐØ�HÐØ?Ù�h ¨¨z¸4ÀØ—l‘l J°ó:ð;ð <Ù�h ¨¨z¸4ÀØ—l‘l Jó0Ø1:ð<ð ˜gŸo™oÐ.Ø˜'Ÿ/™/Ð*Ø" G§O¡OÐ4Ø! C§H¡H¨_Ó$=Ñ=Ù˜ W¨d°JÓ?ðAà�G×$Ñ$ hÐ/Ø�7—?‘? HÐ-Ø™( 4¨Ó4Ð5ð%
ð* ˜7Ð#Ø�H˜fÐ%ð
ð
 �J Ð'Ø˜HÐ%ð
ñ
 �MÓ"Ø�G×$Ñ$Ð%Ø˜'×*Ñ*Ð+ð
ñ �MÓ"Ø�G—O‘OÐ$Ø˜'Ÿ/™/Ð*ð
ñE'�Fr   r   c            	       ó  — e Zd ZdZdZdZdgZdgZg Ze	j                  e	j                  z  ZdZdZdZd	Zd
Zeej&                  dfeej(                  dfeefdefgeej&                  dfeej&                  dfeej&                  dfeej&                  dfeej&                  fdej&                  fgeej(                  dfeej(                  dfeej(                  dfeej(                  dfeej(                  fdej(                  fgdœZy)r   a
  
    A wdiff lexer.

    Note that:

    * It only works with normal output (without options like ``-l``).
    * If the target files contain "[-", "-]", "{+", or "+}",
      especially they are unbalanced, the lexer will get confused.

    .. versionadded:: 2.2
    ÚWDiffz#https://www.gnu.org/software/wdiff/Úwdiffz*.wdiffz\{\+z\+\}z\[\-z\-\]z[^{}[\]+-]+ÚinsertedÚdeletedú.z#pushr>   )r   rF   rG   N)r    r!   r"   r#   r$   Úurlr%   r&   r'   ÚreÚ	MULTILINEÚDOTALLÚflagsÚins_opÚins_clÚdel_opÚdel_clÚnormalr   r*   r)   r   r-   r   r   r   r   r   q   sG  „ ñ
ð €DØ
/€CØˆi€GØ�€IØ€Ià�L‰L˜2Ÿ9™9Ñ$€Eð €FØ€FØ€FØ€FØ€Fð �W×%Ñ% zÐ2Ø�W—_‘_ iÐ0Ø�TˆNØ�4ˆLð	
ð �W×%Ñ% wÐ/Ø�W×%Ñ% wÐ/Ø�W×%Ñ% vÐ.à�W×%Ñ% vÐ.Ø�W×%Ñ%Ð&Ø�7×#Ñ#Ð$ð
ð �W—_‘_ gÐ.Ø�W—_‘_ gÐ.Ø�W—_‘_ fÐ-à�W—_‘_ fÐ-Ø�W—_‘_Ð%Ø�7—?‘?Ð#ð
ñ!�Fr   r   )r#   rJ   Úpygments.lexerr   r   r   Úpygments.tokenr   r   r   r	   r
   r   r   r   Ú__all__r   r   r   r   r   r   ú<module>rV      sQ   ðñó 
ç 8Ñ 8÷÷ ó ò 9€ô �
ô  ôF7�jô 7ôt7�õ 7r   