Method: Textbringer::Keymap#lookup

Defined in:
lib/textbringer/keymap.rb

#lookup(key_sequence) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/textbringer/keymap.rb', line 32

def lookup(key_sequence)
  case key_sequence.size
  when 0
    raise ArgumentError, "Empty key"
  when 1
    @map[key_sequence.first]
  else
    k, *ks = key_sequence
    km = @map[k]
    if km.is_a?(Keymap)
      km.lookup(ks)
    else
      nil
    end
  end
end