ref: 4ad59914e8a570d869f4e66540578cc3bdbc04eb
dir: /sys/src/cmd/hg/mercurial/fancyopts.pyc/
�� �$�Jc@s%ddkZd�Zed�ZdS(i����Nc Csg}d|jo+|id�}||d}|| }nti|||�\}}g}x�|o�|id�}|oc|ddjoRt|�djo?|id|�ti|||�\}} ||}| }qb|i|�qbW|i|�||fS(s�Parse options mostly like getopt.gnu_getopt. This is different from getopt.gnu_getopt in that an argument of - will become an argument of - instead of vanishing completely. s--iit-(tindextgetopttpoptlentinserttappendtextend( targstoptionstlongoptionst extraargst stopindextoptst parseargstargttoptstnewparseargs((s./mercurial/fancyopts.pyt gnugetopt s" + cCspg}d}h}h}x|D]\}} } }| }| idd�} | |d|<|d|<| || <t| t�o| || <n)t| d�od || <n| || <| d jp| tjp | tjp.|o|d7}n|o|d7}q n|o||7}n| o|i|�qqW|o t} n t i } | |||�\}}x�|D]�\}}||} t || �}|t t�jo|| |�|| <qs|t d�jot|�|| <qs|t d�jo||| <qs|t g�jo|| i|�qs|t d �jp|t t�jot|| <qsqsW|S( s� read args, parse options, and store options in state each option is a tuple of: short option or '' long option default value description option types include: boolean or none - option sets variable in state to true string - parameter string is stored in state list - parameter string is added to a list integer - parameter strings is stored as int function - call function with parameter non-option args are returned tRt_s--t__call__t:t=iN( treplacet isinstancetlistthasattrtNonetTruetFalseRRRttypet fancyoptstint(RR tstatetgnutnamelistt shortlisttargmaptdefmaptshorttnametdefaulttcommenttonametparseR topttvaltt((s./mercurial/fancyopts.pyR $sR ' &(RRRR (((s./mercurial/fancyopts.pys<module>s