o
‡ÎÖa% ã @ s„ d Z ddlZddlmZmZmZ ddlmZmZm Z m
Z
mZmZm
Z
mZ g d¢ZG dd„ deƒZG dd „ d eƒZG d
d„ deƒZdS )zË
pygments.lexers.diff
~~~~~~~~~~~~~~~~~~~~
Lexers for diff/patch formats.
:copyright: Copyright 2006-2021 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¤ e Zd ZdZdZddgZddgZddgZd d
ee e
e ƒfdeeje ƒfdeej
e ƒfd
eeje ƒfdeeje ƒfdeeje ƒfdeeje ƒfde fgiZdd„ ZdS )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 (@.*)(\n)z((?:[Ii]ndex|diff).*)(\n)z (=.*)(\n)ú(.*)(\n)c C s@ | d d… dkr
dS | d d… dkrdS | d d… dkrdS d S ) Né zIndex: Té zdiff é z--- gÍÌÌÌÌÌì?© )Útextr r ú6/usr/lib/python3/dist-packages/pygments/lexers/diff.pyÚanalyse_text+ s ÿzDiffLexer.analyse_textN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ filenamesÚ mimetypesr r r r
ÚInsertedÚDeletedÚStrongÚ
SubheadingÚHeadingÚtokensr r r r r r
s$ øÿ
r
c @ s e Zd ZdZdZdgZddgZdZdefdefd efd
efde ee
eeeee
jeeƒ fde ee
eeeee
jeƒd
fdejfdejfdejfdd e¡ e ee
eeƒfdejdfdejdfde eeƒfg
defdedfgdedfdefgedƒdejfdejfgedƒdejfdejfgd œZd!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
zDarcs PatchÚdpatchz*.dpatchz*.darcspatch)ÚhunkÚaddfileÚadddirÚrmfileÚrmdirÚmoveÚreplaceú<ú>z\{z\}z/(\[)((?:TAG )?)(.*)(\n)(.*)(\*\*)(\d+)(\s?)(\])z+(\[)((?:TAG )?)(.*)(\n)(.*)(\*\*)(\d+)(\s?)ÚcommentzNew patches:zContext:zPatch bundle hash:z(\s*)(%s)(.*)(\n)ú|z\+Úinsertú-Údeleter z [^\]].*\nz\]ú#popz\nz
\[_[^_]*_]ÚspecialTextz\[z[^\n\[]+)r r4 r: r6 r8 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\ ÿÿÿþÿ
îþþýý
Þr c @ sà e Zd ZdZdZdgZdgZg Zej ej
B ZdZdZ
dZdZd Zeejd
feejdfeefdefgeejd
feejd
feejdfe
ejdfeejfdejfgeejd
feejd
fe
ejdfeejdfeejfdejfgdœZdS )r a3
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
ÚWDiffÚwdiffz*.wdiffz\{\+z\+\}z\[\-z\-\]z[^{}[\]+-]+ÚinsertedÚdeletedÚ.z#pushr9 )r r@ rA N)r r r r r r! 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 s@
ü
ù
ù
ðr )r rC Úpygments.lexerr r r Úpygments.tokenr r r r r r
r r Ú__all__r
r r r r r r Ú s
( :