import method, mode2 class Mini(mode2.Fundamental): modename = 'Mini' def __init__(self, w): mode2.Fundamental.__init__(self, w) # 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)