'Format help for current parser and children.'

def format_help(self, prog=None):

    actions = self._build()[1]
    prog = (prog or os.path.basename(sys.argv[0]))
    formatter = argparse.HelpFormatter(prog)
    formatter.add_usage(None, actions, [])
    if self.help:
        formatter.add_text(self.help)
    if actions:
        formatter.add_text(u'OPTIONS:')
        formatter.start_section(None)
        formatter.add_arguments(actions)
        formatter.end_section()
    subhelp = []
    for (name, child) in self._children.items():
        child._subhelp(name, subhelp)
    if subhelp:
        formatter.add_text(u'COMMANDS:')
        subhelp.insert(0, u'')
    return (formatter.format_help() + u'\n'.join(subhelp))
