class Reline::LineEditor

def search_next_char(key, arg, need_prev_char: false, inclusive: false)

def search_next_char(key, arg, need_prev_char: false, inclusive: false)
.instance_of?(String)
ted_char = key
ted_char = key.chr
otal = nil
= nil
= false
byteslice(@byte_pointer..-1).grapheme_clusters.each do |mbchar|
tal has [byte_size, cursor]
ss total
skip cursor point
dth = Reline::Unicode.get_mbchar_width(mbchar)
tal = [mbchar.bytesize, width]

 inputed_char == mbchar
arg -= 1
if arg.zero?
  found = true
  break
end
d
dth = Reline::Unicode.get_mbchar_width(mbchar)
ev_total = total
tal = [total.first + mbchar.bytesize, total.last + width]
 need_prev_char and found and total
_size, width = total
e_pointer += byte_size
sor += width
need_prev_char and found and prev_total
_size, width = prev_total
e_pointer += byte_size
sor += width
lusive
_size = Reline::Unicode.get_next_mbchar_size(@line, @byte_pointer)
yte_size > 0
= @line.byteslice(@byte_pointer, byte_size)
dth = Reline::Unicode.get_mbchar_width(c)
yte_pointer += byte_size
ursor += width
ng_proc = nil