'Return all commands starting with `text`, for tab-completion.'

def completenames(self, text, *ignored):

    names = self.get_names()
    first = [cmd for cmd in names if cmd.startswith(text.replace(u'_', u'.'))]
    if first:
        return first
    return [cmd for cmd in names if cmd.partition(u'.')[2].startswith(text)]
