'The main implementation of the %lsmagic'

def _lsmagic(self):

    mesc = magic_escapes['line']
    cesc = magic_escapes['cell']
    mman = self.magics_manager
    magics = mman.lsmagic()
    out = ['Available    line    magics:', (mesc + ('        ' + mesc).join(sorted([m for (m, v) in magics['line'].items() if (v not in self.ignore)]))), '', 'Available    cell    magics:', (cesc + ('        ' + cesc).join(sorted([m for (m, v) in magics['cell'].items() if (v not in self.ignore)]))), '', mman.auto_status()]
    return '\n'.join(out)
