
    	^cd	                     v    d 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j        e
          ZdZh dZd Zd ZdS )	z+adds a new flag extras to commit (ADVANCED)    N)_)commandserror
extensions	registrarutils   ships-with-hg-core>
      close   topic   branch   source   amend_source   rebase_source   __touch-noise__   histedit_source   transplant_source   intermediate-sourcec           	          t          j        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   wrapcommandr   table_commitappendr   )uientryoptionss      4/usr/lib/python3/dist-packages/hgext/commitextras.pyextsetupr   (   sd    "8>9gFFEAhGNN011lOO	
    r   c                     t          j        |d          r|                                } G fdd|j                  |_         | ||g|R i S )N
unfilteredc                   $     e Zd Z fdZ xZS )_commit.<locals>.repoextrac                 (   	                     d          }|D ]}d|vr&t          d          }t          j        ||z            |                    dd          \  }}|s&t          d          }t          j        ||z            t          j        d|          r#t          d          }t          j        |          |t          v r&t          d          }t          j        ||z            ||d         |<    t          
|           j	        |i |S )	N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   
InputErrorsplitresearchusedinternallysupercommit)self	innerpats	inneroptsextrasrawmsgkv	__class__opts	repoextras           r   r-   z!_commit.<locals>.repoextra.commit;   s>   XXg&&F * *s??, C  *39555yyq))1 6HIIC*395559Z++ 0( C  *3///&&$ C  *37333()	'"1%%05D))0)IyIIIr   )__name__
__module____qualname__r-   __classcell__)r6   r7   r8   s   @r   r8   r"   :   sN        	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	Jr   r8   )r   safehasattrr    r6   )origr   repopatsr7   r8   s       `@r   r   r   6   s    l++ !  J J J J J J J JDN J J J: DN4D(4(((4(((r   )__doc__r)   mercurial.i18nr   	mercurialr   r   r   r   r   cmdtablecommand
testedwithr+   r   r    r   r   <module>rH      s    2 1 
			                    
)
H
%
%"
    ") ") ") ") ")r   