

def popup_error_list(view, error_list):
    panel_items = []
    for error in error_list:
        line_text = view.substr(view.full_line(view.text_point(error['line'], 0)))
        item = [error['message'], '{0}: {1}'.format((line_text['line'] + 1), line_text.strip())]
        panel_items.append(item)

    def on_done(selected_item):
        if (selected_item == (- 1)):
            return
        selected = view.sel()
        selected.clear()
        error = error_list[selected_item]
        region_begin = view.text_point(error['line'], (error['col'] or 0))
        selected.add(sublime.Region(region_begin, region_begin))
        view.run_command('move', {
            'by': 'characters',
            'forward': True,
        })
        view.run_command('move', {
            'by': 'characters',
            'forward': False,
        })
        view.show_at_center(region_begin)
    view.window().show_quick_panel(panel_items, on_done)

dataset/ETHPy150Open lavrton/sublime-better-typescript/TypeScript.py popup_error_list/VarMisuse@61/87 `error`->`line_text`