

def run(self, edit, stage='file'):
    repo = self.get_repo()
    if (not repo):
        return
    goto = None
    if (stage == 'all'):
        self.add_all(repo)
    elif (stage == 'unstaged'):
        self.add_all_unstaged(repo)
    elif (stage == 'section'):
        points = self.get_all_points()
        sections = set([self.section_at_point(p) for p in files])
        if ((UNTRACKED_FILES in sections) and (UNSTAGED_CHANGES in sections)):
            self.add_all(repo)
        elif (UNSTAGED_CHANGES in sections):
            self.add_all_unstaged(repo)
        elif (UNTRACKED_FILES in sections):
            self.add_all_untracked(repo)
    elif (stage == 'file'):
        files = self.get_selected_files()
        untracked = [f for (s, f) in files if (s in (UNTRACKED_FILES,))]
        unstaged = [f for (s, f) in files if (s in (UNSTAGED_CHANGES,))]
        if untracked:
            self.add(repo, untracked)
        if unstaged:
            self.add_update(repo, unstaged)
        goto = self.logical_goto_next_file()
    self.update_status(goto)

dataset/ETHPy150Open SublimeGit/SublimeGit/sgit/status.py GitStatusStageCommand.run/VarMisuse@104/129 `points`->`files`