class Reline::LineEditor::Dialog
Attributes
Public Class Methods
Source
# File lib/reline/line_editor.rb, line 651 def initialize(name, config, proc_scope) @name = name @config = config @proc_scope = proc_scope @width = nil @scroll_top = 0 @trap_key = nil end
Public Instance Methods
Source
# File lib/reline/line_editor.rb, line 675
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
else
@config.add_oneshot_key_binding(@trap_key, @name)
end
end
dialog_render_info
end Source
# File lib/reline/line_editor.rb, line 668
def contents=(contents)
@contents = contents
if contents and @width.nil?
@width = contents.map{ |line| Reline::Unicode.calculate_width(line, true) }.max
end
end Source
# File lib/reline/line_editor.rb, line 660 def set_cursor_pos(col, row) @proc_scope.set_cursor_pos(col, row) end
Ruby Core © 1993–2024 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.