class Reline::LineEditor

def normal_char(key)

def normal_char(key)
_symbol = method_obj = nil
.combined_char.is_a?(Symbol)
ess_key(key.combined_char, key.combined_char)
rn
byte_buffer << key.combined_char
ltibyte_buffer.size > 1
multibyte_buffer.dup.force_encoding(@encoding).valid_encoding?
ocess_key(@multibyte_buffer.dup.force_encoding(@encoding), nil)
ultibyte_buffer.clear

invalid
turn
 single byte
rn if key.char >= 128 # maybe, first byte of multi byte
od_symbol = @config.editing_mode.get_method(key.combined_char)
ey.with_meta and method_symbol == :ed_unassigned
 @config.editing_mode_is?(:vi_command, :vi_insert)
# split ESC + key in vi mode
method_symbol = @config.editing_mode.get_method("\e".ord)
process_key("\e".ord, method_symbol)
method_symbol = @config.editing_mode.get_method(key.char)
process_key(key.char, method_symbol)
d

ocess_key(key.combined_char, method_symbol)
tibyte_buffer.clear
nfig.editing_mode_is?(:vi_command) and @cursor > 0 and @cursor == @cursor_max
_size = Reline::Unicode.get_prev_mbchar_size(@line, @byte_pointer)
e_pointer -= byte_size
ar = @line.byteslice(@byte_pointer, byte_size)
h = Reline::Unicode.get_mbchar_width(mbchar)
sor -= width