diff options
Diffstat (limited to 'pkg/gui/stagedview.go')
| -rw-r--r-- | pkg/gui/stagedview.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/pkg/gui/stagedview.go b/pkg/gui/stagedview.go index e3684f0..bae80bd 100644 --- a/pkg/gui/stagedview.go +++ b/pkg/gui/stagedview.go @@ -30,6 +30,41 @@ func (gui *Gui) openStageView(g *gocui.Gui) error { return nil } +func (gui *Gui) resetChanges(g *gocui.Gui, v *gocui.View) error { + entity := gui.getSelectedRepository() + files, _, err := generateFileLists(entity) + if err != nil { + return err + } + if len(files) <= 0 { + return nil + } + _, cy := v.Cursor() + _, oy := v.Origin() + if err := files[cy+oy].Reset(git.ResetOptions{ + + }); err != nil { + return err + } + if err := refreshAllStatusView(g, entity); err != nil { + return err + } + return nil +} + +func (gui *Gui) resetAllChanges(g *gocui.Gui, v *gocui.View) error { + entity := gui.getSelectedRepository() + if err := entity.ResetAll(git.ResetOptions{ + + }); err != nil { + return err + } + if err := refreshAllStatusView(g, entity); err != nil { + return err + } + return nil +} + // refresh the main view and re-render the repository representations func refreshStagedView(g *gocui.Gui, entity *git.RepoEntity) error { stageView, err := g.View(stageViewFeature.Name) |
