
    L&i,                         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dS )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 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	fgiZd ZdS )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	(@.*)(\n)z((?:[Ii]ndex|diff).*)(\n)z	(=.*)(\n)(.*)(\n)c                 f    | d d         dk    rdS | d d         dk    rdS | d d         dk    rdS d S )	N   zIndex: T   zdiff    z--- g? )texts    a/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/pygments/lexers/diff.pyanalyse_textzDiffLexer.analyse_text+   sR    8y  48w48v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 	XXj$
CCDHHW%5zBBC88GOZ@@A88GNJ??@88G$6
CCD)88GOZ+P+PQ88GOZ@@A*%	
F    r   r   c                      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                    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d!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
    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   4   s         DjG^,I"O
 88HH?Xhz4lJ: :; <Xhz4lJ0 01:< go.'/*"GO4!CHH_$=$==WdJ??AG$h/7?H-((4445%
* 7#Hf%

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

 GM""G$%'*+
 GM""GO$'/*
E' 'FFFr   r   c            	       h   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dS )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   n   s6       
 
 D
/CiGIIL29$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?#
! FFFr   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      s3    
			 8 8 8 8 8 8 8 8 8 8                    9
8
8    
   @7 7 7 7 7j 7 7 7t7 7 7 7 7 7 7 7 7 7r   