# File ruby-3.1.2/lib/reline/line_editor.rb, line 620 def call(key) @proc_scope.set_dialog(self) @proc_scope.set_key(key) dialog_render_info = @proc_scope.call if @trap_key if @trap_key.any?{ |i| i.is_a?(Array) } # multiple trap @trap_key.each do |t| @config.add_oneshot_key_binding(t, @name) end elsif @trap_key.is_a?(Array) @config.add_oneshot_key_binding(@trap_key, @name) elsif @trap_key.is_a?(Integer) or @trap_key.is_a?(Reline::Key) @config.add_oneshot_key_binding([@trap_key], @name) end end dialog_render_info end
# File ruby-3.1.2/lib/reline/line_editor.rb, line 613 def contents=(contents) @contents = contents if contents and @width.nil? @width = contents.map{ |line| Reline::Unicode.calculate_width(line, true) }.max end end