2007-10-21 20:55:29 -04:00
|
|
|
import method, mode
|
2007-07-21 11:40:53 -04:00
|
|
|
|
2007-10-21 20:55:29 -04:00
|
|
|
class Mini(mode.Fundamental):
|
2007-10-18 17:07:35 -04:00
|
|
|
modename = 'Mini'
|
2007-07-21 11:40:53 -04:00
|
|
|
def __init__(self, w):
|
2007-10-21 20:55:29 -04:00
|
|
|
mode.Fundamental.__init__(self, w)
|
2007-07-21 11:40:53 -04:00
|
|
|
|
|
|
|
# delete actions relating to multiple lines
|
|
|
|
self.del_action('center-view')
|
|
|
|
self.del_action('next-line')
|
|
|
|
self.del_action('previous-line')
|
|
|
|
self.del_action('page-down')
|
|
|
|
self.del_action('page-up')
|
|
|
|
self.del_action('goto-beginning')
|
|
|
|
self.del_action('goto-end')
|
|
|
|
self.del_action('switch-buffer')
|
|
|
|
|
|
|
|
# add some new actions for the minibuffer
|
|
|
|
self.add_action_and_bindings(MiniCallback(), ('RETURN',))
|
|
|
|
self.add_action_and_bindings(MiniTabComplete(), ('TAB',))
|
|
|
|
|
|
|
|
class MiniCallback(method.Method):
|
|
|
|
def execute(self, window, **vargs):
|
|
|
|
window.buffer.do_callback()
|
|
|
|
|
|
|
|
class MiniTabComplete(method.Method):
|
|
|
|
def __init__(self):
|
|
|
|
self.name = "tab-complete"
|
|
|
|
self.args = []
|
|
|
|
def execute(self, window, **vargs):
|
|
|
|
b = window.buffer
|
|
|
|
if b.tabber is None:
|
|
|
|
window.application.set_error("No tab completion")
|
|
|
|
return
|
|
|
|
s1 = b.make_string()
|
|
|
|
s2, exists, complete = b.tabber.tab_string(s1, window)
|
|
|
|
b.set_data(s2)
|
2007-10-19 02:41:33 -04:00
|
|
|
|
|
|
|
install = Mini.install
|