#NEWLINE# def _describe_input_option( self , option , **options ) : #NEWLINE# #INDENT# '\n        Describes an InputOption instance.\n\n        :type argument: InputOption\n        :type options: dict\n        ' #NEWLINE# accept_value = option . accept_value ( ) #NEWLINE# default = option . get_default ( ) #NEWLINE# if ( accept_value and ( default is not None ) and ( ( not isinstance ( default , list ) ) or len ( default ) ) ) : #NEWLINE# #INDENT# default = ( '<comment> [default: %s]</comment>' % self . _format_default_value ( default ) ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# default = '' #NEWLINE# #UNINDENT# value = '' #NEWLINE# if accept_value : #NEWLINE# #INDENT# value = ( '=%s' % option . get_name ( ) . upper ( ) ) #NEWLINE# if option . is_value_optional ( ) : #NEWLINE# #INDENT# value = ( '[%s]' % value ) #NEWLINE# #UNINDENT# #UNINDENT# total_width = options . get ( 'total_width' , self . _calculate_total_width_for_options ( [ option ] ) ) #NEWLINE# shortcut = option . get_shortcut ( ) #NEWLINE# synopsis = ( '%s%s' % ( ( ( '-%s, ' % shortcut ) if shortcut else '    ' ) , ( '--%s%s' % ( option . get_name ( ) , value ) ) ) ) #NEWLINE# spacing_width = ( ( total_width - len ( synopsis ) ) + 2 ) #NEWLINE# self . _write_text ( ( '  <info>%s</info>%s%s%s%s' % ( synopsis , ( ' ' * spacing_width ) , re . sub ( '\\s*[\r\n]\\s*' , ( '\n' + ( ' ' * ( total_width + 17 ) ) ) , ( option . get_description ( ) or '' ) ) , default , ( '<comment> (multiple values allowed)</comment>' if option . is_list ( ) else '' ) ) ) , ** options )