a
    %0É_w	  ã                   @   sn   d Z ddlmZ ddlZddlmZ ddlmZmZm	Z	m
Z
mZ i Ze
 e¡ZdZh d£Zdd	„ Zd
d„ ZdS )z+adds a new flag extras to commit (ADVANCED)é    )Úabsolute_importN)Ú_)ÚcommandsÚerrorÚ
extensionsÚ	registrarÚutils   ships-with-hg-core>
   s   amend_sources   topics   intermediate-sources   rebase_sources   __touch-noise__s   sources   branchs   closes   histedit_sources   transplant_sourcec                 C   s8   t  tjdt¡}|d }| ddg tdƒtdƒf¡ d S )Ns   commité   ó    s   extras   set a changeset's extra valuess	   KEY=VALUE)r   Zwrapcommandr   ÚtableÚ_commitÚappendr   )ÚuiÚentryZoptions© r   ú4/usr/lib/python3/dist-packages/hgext/commitextras.pyÚextsetup)   s    ûÿr   c                    sJ   t  |d¡r| ¡ }G ‡ ‡fdd„d|jƒ‰ˆ|_| ||g|¢R i ˆ ¤ŽS )NÚ
unfilteredc                       s    e Zd Z‡ ‡‡fdd„Z‡  ZS )z_commit.<locals>.repoextrac                    sº   ˆ  d¡}|D ]”}d|vr0tdƒ}t || ¡‚| dd¡\}}|sZtdƒ}t || ¡‚t d|¡rxtdƒ}t |¡‚|tv r–tdƒ}t || ¡‚||d |< qtˆ| ƒj	|i |¤ŽS )	NZextraó   =s4   unable to parse '%s', should follow KEY=VALUE formatr	   s)   unable to parse '%s', keys can't be emptys   [^\w-]s8   keys can only contain ascii letters, digits, '_' and '-'s2   key '%s' is used internally, can't be set manually)
Úgetr   r   ZAbortÚsplitÚreÚsearchÚusedinternallyÚsuperÚcommit)ÚselfZ	innerpatsZ	inneroptsZextrasÚrawÚmsgÚkÚv)Ú	__class__ÚoptsÚ	repoextrar   r   r   <   s.    
ÿÿ
ÿz!_commit.<locals>.repoextra.commit)Ú__name__Ú
__module__Ú__qualname__r   Ú__classcell__r   ©r"   r#   )r!   r   r#   ;   s   r#   )r   Zsafehasattrr   r!   )Zorigr   ZrepoZpatsr"   r   r(   r   r   7   s
    r   )Ú__doc__Z
__future__r   r   Zmercurial.i18nr   Z	mercurialr   r   r   r   r   ZcmdtableZcommandZ
testedwithr   r   r   r   r   r   r   Ú<module>   s   
