25 lines
729 B
Python
25 lines
729 B
Python
|
import buffer
|
||
|
|
||
|
# minibuffer is a singleton
|
||
|
mini = None
|
||
|
class MiniBuffer(buffer.Buffer):
|
||
|
def __new__(cls, *args, **kwargs):
|
||
|
global mini
|
||
|
if mini is None:
|
||
|
mini = object.__new__(MiniBuffer, *args, **kwargs)
|
||
|
return mini
|
||
|
# the callback function should take one argument (window)
|
||
|
def __init__(self, func, method=None, tabber=None, modename=None):
|
||
|
buffer.Buffer.__init__(self)
|
||
|
self.callback = func
|
||
|
self.method = method
|
||
|
self.tabber = tabber
|
||
|
self.modename = modename
|
||
|
def name(self):
|
||
|
return "*Minibuffer*"
|
||
|
def do_callback(self):
|
||
|
self.callback(self.make_string())
|
||
|
def close(self):
|
||
|
global mini
|
||
|
mini = None
|