class Reline::LineEditor
def complete(list, just_show_list = false)
def complete(list, just_show_list = false) completion_state ompletionState::NORMAL, CompletionState::JOURNEY pletion_state = CompletionState::COMPLETION ompletionState::PERFECT_MATCH _perfect_match_proc&.(@perfect_matched) t_show_list enu = true @completion_state == CompletionState::MENU enu = true @completion_state == CompletionState::MENU_WITH_PERFECT_MATCH enu = true enu = false = complete_internal_proc(list, is_menu) mpletion_state == CompletionState::MENU_WITH_PERFECT_MATCH pletion_state = CompletionState::PERFECT_MATCH if result.nil? , preposing, completed, postposing = result if completed.nil? get <= completed and (@completion_state == CompletionState::COMPLETION) ist.include?(completed) list.one? @completion_state = CompletionState::PERFECT_MATCH se @completion_state = CompletionState::MENU_WITH_PERFECT_MATCH d erfect_matched = completed ompletion_state = CompletionState::MENU ot just_show_list and target < completed ine = (preposing + completed + completion_append_character.to_s + postposing).split("\n")[@line_index] || String.new(encoding: @encoding) ne_to_pointer = (preposing + completed + completion_append_character.to_s).split("\n").last || String.new(encoding: @encoding) ursor_max = calculate_width(@line) ursor = calculate_width(line_to_pointer) yte_pointer = line_to_pointer.bytesize