
    ,h                         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-2025 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                   \   e Zd ZdZdZddgZddgZddgZd	Zd
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-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                 :    | 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    V/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pygments/lexers/diff.pyanalyse_textzDiffLexer.analyse_text0   s:    8y 8w8v     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 	Xj$
CDx
CD (7??J"GH!8G,<,<j#IJ=++Z8 *8GOOZ+PQ8GOOZ@A(445
F r    r   c                   P   e Zd ZdZdZdgZddgZdZd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j'                  dj)                  e	             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``.
    zDarcs Patchdpatchz*.dpatchz*.darcspatchzhttps://darcs.netz0.10)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*)({})(.*)(\n)|z\+insert-deleter   z	[^\]].*\nz\]#popz\nz
\[_[^_]*_]specialTextz\[z[^\n\[]+)r   r<   rB   r>   r@   N)r!   r"   r#   r$   r%   r&   r'   r)   r*   DPATCH_KEYWORDSr   r   r	   r
   r   r   Dater   r/   formatjoinr   r-   r,   r   r   r0   r   r    r   r   r   9   s    DjG^,I
CM"O
 88HH?hz4llJ:; <hz4llJ01:< goo.'//*"GOO4!((/)BCWdJ?AG$$h/7??H-(445%
* 7#Hf%

 J'H%

 M"G$$%'**+
 M"GOO$'//*
E'Fr    r   c            	       
   e Zd ZdZdZdZdgZdgZg Zd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   z
    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.
    WDiffz#https://www.gnu.org/software/wdiff/wdiffz*.wdiffz2.2z\{\+z\+\}z\[\-z\-\]z[^{}[\]+-]+inserteddeleted.z#pushrA   )r   rJ   rK   N)r!   r"   r#   r$   r%   r)   r&   r'   r(   r*   re	MULTILINEDOTALLflagsins_opins_cldel_opdel_clnormalr   r-   r,   r   r0   r   r    r   r   r   s   sL    D
/CiGIIMLL299$E FFFFF W%%z2W__i0TN4L	
 W%%w/W%%w/W%%v.W%%v.W%%&7##$
 W__g.W__g.W__f-W__f-W__%7??#
!Fr    r   )r$   rM   pygments.lexerr   r   r   pygments.tokenr   r   r   r	   r
   r   r   r   __all__r   r   r   r   r    r   <module>rY      sQ    
 8 8   9"
 "J7j 7t6 6r    