3

V'íc,ã@s†dZddlZddlmZmZmZddlmZmZm	Z	m
Z
mZmZm
Z
mZdddgZGdd„deƒZGd	d„deƒZGd
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@s¤eZdZdZdZddgZddgZddgZd	d
ee	e
e	ƒfdeeje	ƒfdeej
e	ƒfd
eeje	ƒfdeeje	ƒfdeeje	ƒfdeeje	ƒfde	fgiZdd„ZdS)r
z>
    Lexer for unified or context-style diffs or patches.
    ZDiffZdiffZudiffz*.diffz*.patchztext/x-diffztext/x-patchÚrootz( )(.*)(\n)z
(\+.*)(\n)z	(-.*)(\n)z	(!.*)(\n)z	(@.*)(\n)z((?:[Ii]ndex|diff).*)(\n)z	(=.*)(\n)z(.*)(\n)cCs@|dd…dkrdS|dd…dkr(dS|dd…dkr<dSdS)	NézIndex: Tézdiff éz--- gÍÌÌÌÌÌì?©)Útextrrú8/tmp/pip-build-gk9425m9/Pygments/pygments/lexers/diff.pyÚanalyse_text+szDiffLexer.analyse_textN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesrrrr
ÚInsertedÚDeletedZStrongZ
SubheadingÚHeadingÚtokensrrrrrr
sc@s eZdZdZdZdgZddgZd(Zd
efdefdefdefde	ee
eeeee
jeeƒ	fde	ee
eeeee
jeƒdfdejfdejfdejfddjeƒe	ee
eeƒfdejdfdejdfde	eeƒfg
defded fgd!ed fd"efged#ƒd$ejfd%ejfged#ƒd$ejfd%ejfgd&œZd'S))rzä
    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 PatchZdpatchz*.dpatchz*.darcspatchÚhunkÚaddfileÚadddirÚrmfileÚrmdirÚmoveÚreplaceú<ú>z\{z\}z/(\[)((?:TAG )?)(.*)(\n)(.*)(\*\*)(\d+)(\s?)(\])z+(\[)((?:TAG )?)(.*)(\n)(.*)(\*\*)(\d+)(\s?)ÚcommentzNew patches:zContext:zPatch bundle hash:z(\s*)(%s)(.*)(\n)ú|z\+Úinsertú-Údeletez(.*)(\n)z	[^\]].*\nz\]z#popz\nz
\[_[^_]*_]ÚspecialTextz\[z[^\n\[]+)rr-r2r/r1N)r$r%r&r'r(r)r*)rrrrrrrZDPATCH_KEYWORDSrrrr	rrÚDater
r"Újoinrr r!rrr#rrrrr4sD



c	@säeZdZdZdZdZdgZdgZgZe	j
e	jBZdZ
dZdZd	Zd
Ze
ejdfeejdfeefd
efge
ejdfeejdfeejdfeejdfeejfd
ejfgeejdfe
ejdfeejdfeejdfeejfd
ejfgdœZdS)ra

    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
    ZWDiffz#https://www.gnu.org/software/wdiff/Zwdiffz*.wdiffz\{\+z\+\}z\[\-z\-\]z[^{}[\]+-]+ÚinsertedÚdeletedÚ.z#pushz#pop)rr5r6N)rrrrrÚurlrrrÚreÚ	MULTILINEÚDOTALLÚflagsZins_opZins_clZdel_opZdel_clZnormalr
r r!rr#rrrrrns8










)rr9Zpygments.lexerrrrZpygments.tokenrrrrr	r
rrÚ__all__r
rrrrrrÚ<module>	s(
 :