

def on_done(self, res):
    if (not res['okay']):
        sublime.message_dialog('Error. See console.')
        print(res['err'])
        return
    self.outputView = self.inputView.window().open_file(self.outputFilePath)
    self.outputView.window().focus_group(1)
    self.outputView.window().set_view_index(self.outputView, self.outputView.window().active_group(), 0)
    self.inputView.window().focus_view(self.inputView)
    mapFile = (self.sourceFilePath.split('.')[0] + '.js.map')
    (inputRow, inputCol) = self.inputView.rowcol(self.inputView.sel()[0].begin())
    index = load(open(mapFile)).getpos(line=inputRow, column=inputCol)
    if (not index):
        return
    (row, col) = index
    row = int(row)

    def goto():
        selected = self.outputView.sel()
        selected.clear()
        region_begin = self.outputView.text_point(row, 0)
        selected.add(sublime.Region(region_begin, region_begin))
        self.outputView.run_command('move', {
            'by': 'characters',
            'forward': True,
        })
        self.outputView.run_command('move', {
            'by': 'characters',
            'forward': False,
        })
        self.outputView.show_at_center(region_begin)
    sublime.set_timeout(goto, 10)

dataset/ETHPy150Open lavrton/sublime-better-typescript/TypeScript.py Watcher.on_done/original