blob: ee28c7681e363b0907369e9334a8a8579a8058b3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
class Reline::KeyActor::Base
def initialize(mapping = [])
@mapping = mapping
@matching_bytes = {}
@key_bindings = {}
end
def get_method(key)
@mapping[key]
end
def add(key, func)
(1...key.size).each do |size|
@matching_bytes[key.take(size)] = true
end
@key_bindings[key] = func
end
def matching?(key)
@matching_bytes[key]
end
def get(key)
@key_bindings[key]
end
def clear
@matching_bytes.clear
@key_bindings.clear
end
end
|