Method: Textbringer::Keymap#lookup

Defined in:
lib/textbringer/keymap.rb

#lookup(key_sequence) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/textbringer/keymap.rb', line 26

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