import color, method, mode from point import Point class Which(mode.Fundamental): name = 'Which' def __init__(self, w): mode.Fundamental.__init__(self, w) old_mode = w.buffer.method.old_window.mode self.bindings = dict(old_mode.bindings) def handle_token(self, t): '''self.handle_token(token): handles input "token"''' self.window.active_point = None try: act = mode.Handler.handle_token(self, t) if act is None: return else: s = '%r is %r: %s' % (self.last_sequence, act.name, act.help) self.window.application.set_error(s) self._end() except Exception as e: if mode.DEBUG: raise else: err = "%s in mode '%s'" % (e, self.name) self.window.application.set_error(err) self._end() def _end(self): self.window.application.close_mini_buffer() self.window.buffer.method.old_cursor = None self.window.buffer.method.old_window = None install = Which.install