'Give help on commands and builtins
When invoked without arguments, provides an overview of all commands.
When passed as an argument, also provides a detailed help on a specific command or builtin.
Examples
> help
> help command'

def do_help(self, arg):

    if (not arg):
        lst = ['help    command            --    Help    for    a    specific    command.', '', 'Builtins', '========', self.columnize(self.builtins)]
        cmds = self._commands
        if cmds:
            lst.extend(['', 'Commands    for    this    object', '========================', self.columnize(cmds)])
        return '\n'.join(lst)
    elif (arg in self._commands):
        return self._call('doc', ('("%s")' % arg))
    elif (arg in self.builtins):
        c = getattr(self, ('do_' + arg))
        return inspect.getdoc(c)
    else:
        return ('No    such    command:    %s' % arg)
