class Reline::KeyActor::Base
Public Class Methods
Source
# File lib/reline/key_actor/base.rb, line 2
def initialize(mappings = nil)
@matching_bytes = {}
@key_bindings = {}
add_mappings(mappings) if mappings
end Public Instance Methods
Source
# File lib/reline/key_actor/base.rb, line 18
def add(key, func)
(1...key.size).each do |size|
@matching_bytes[key.take(size)] = true
end
@key_bindings[key] = func
end Source
# File lib/reline/key_actor/base.rb, line 8
def add_mappings(mappings)
add([27], :ed_ignore)
128.times do |key|
func = mappings[key]
meta_func = mappings[key | 0b10000000]
add([key], func) if func
add([27, key], meta_func) if meta_func
end
end Source
# File lib/reline/key_actor/base.rb, line 33 def clear @matching_bytes.clear @key_bindings.clear end
Source
# File lib/reline/key_actor/base.rb, line 25 def matching?(key) @matching_bytes[key] end
Ruby Core © 1993–2024 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.