class Utils::SearchUI
def start
def start @output.print clear_screen, move_home, reset loop do @output.print move_home { @prompt % @answer } case getc when true @output.print clear_screen, move_home, reset if result = @found.(@answer, @selector) return result else return nil end when false return nil end result = @query.(@answer, @selector) @output.print clear_screen unless @answer.empty? @output.print move_home { ?\n + result } end end end