Plan 9 from Bell Labs’s /usr/web/sources/contrib/bichued/root/sys/src/cmd/hg/mercurial/fancyopts.pyc

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


�
�c@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	parseargstargttoptstnewparseargs((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	

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].