pmacs3/mode/mini.py

40 lines
1.2 KiB
Python
Raw Normal View History

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