from buffer import Buffer, ACT_NORM from buffer.color import ColorDataBuffer # console is another singleton console = None class ConsoleBuffer(Buffer): btype = 'console' modename = 'ipython' bannerlines = [ '# Python Console\n', "# Evaluate python expressions in the editor's context (self)\n", '# Press Control-] to exit\n', ] banner = ''.join(bannerlines) def __new__(cls, *args, **kwargs): global console if console is None: b = object.__new__(ConsoleBuffer, *args, **kwargs) console = b return console def __init__(self): Buffer.__init__(self) self.set_data(self.banner, force=True) def clear(self): console.set_data(self.banner, force=True) def name(self): return '*Console*' def changed(self): return False def close(self): global console; console = None def readonly(self): return True def input_insert_lines(self, p, lines, act=ACT_NORM, force=False): pass def output_insert_lines(self, p, lines, act=ACT_NORM, force=False): pass def result_insert_lines(self, p, lines, act=ACT_NORM, force=False): pass