

def run(self):
    repo = self.get_repo()
    if (not repo):
        return
    status = self.get_porcelain_status(repo)
    if (not status):
        status = [GIT_WORKING_DIR_CLEAN]

    def on_done(idx):
        if ((idx == (- 1)) or (status[idx] == GIT_WORKING_DIR_CLEAN)):
            return
        (state, filename) = (status[idx][0:2], status[idx][3:])
        (index, worktree) = state
        if (state == '??'):
            return sublime.error_message('Cannot show diff for untracked files.')
        window = self.window
        if (worktree != ' '):
            window.run_command('git_diff', {
                'repo': repo,
                'path': filename,
            })
        if (index != ' '):
            window.run_command('git_diff', {
                'repo': repo,
                'path': filename,
                'cached': True,
            })
    self.window.show_quick_panel(status, on_done, sublime.MONOSPACE_FONT)

dataset/ETHPy150Open SublimeGit/SublimeGit/sgit/status.py GitQuickStatusCommand.run/original