From 6c270b6e260adf2148af2de0e1ec4f4a3d6d7172 Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Tue, 18 Aug 2020 22:23:36 +1000 Subject: [PATCH] WIP --- pkg/gui/merge_panel.go | 25 +++++++++++++++---------- pkg/gui/stash_panel.go | 26 +++++++++++++------------- 2 files changed, 28 insertions(+), 23 deletions(-) diff --git a/pkg/gui/merge_panel.go b/pkg/gui/merge_panel.go index 56e2535ba..627e3229f 100644 --- a/pkg/gui/merge_panel.go +++ b/pkg/gui/merge_panel.go @@ -19,8 +19,13 @@ import ( "github.com/jesseduffield/lazygit/pkg/utils" ) -func (gui *Gui) findConflicts(content string) ([]commands.Conflict, error) { +func (gui *Gui) findConflicts(content string) []commands.Conflict { conflicts := make([]commands.Conflict, 0) + + if content == "" { + return conflicts + } + var newConflict commands.Conflict for i, line := range utils.SplitLines(content) { trimmedLine := strings.TrimPrefix(line, "++") @@ -34,7 +39,7 @@ func (gui *Gui) findConflicts(content string) ([]commands.Conflict, error) { conflicts = append(conflicts, newConflict) } } - return conflicts, nil + return conflicts } func (gui *Gui) shiftConflict(conflicts []commands.Conflict) (commands.Conflict, []commands.Conflict) { @@ -211,16 +216,16 @@ func (gui *Gui) refreshMergePanel() error { panelState := gui.State.Panels.Merging cat, err := gui.catSelectedFile(gui.g) if err != nil { - return err - } - if cat == "" { - return nil - } - panelState.Conflicts, err = gui.findConflicts(cat) - if err != nil { - return err + return gui.refreshMain(refreshMainOpts{ + main: &viewUpdateOpts{ + title: "", + task: gui.createRenderStringTask(err.Error()), + }, + }) } + panelState.Conflicts = gui.findConflicts(cat) + // handle potential fixes that the user made in their editor since we last refreshed if len(panelState.Conflicts) == 0 { return gui.handleCompleteMerge() diff --git a/pkg/gui/stash_panel.go b/pkg/gui/stash_panel.go index 04a82e463..24a136331 100644 --- a/pkg/gui/stash_panel.go +++ b/pkg/gui/stash_panel.go @@ -26,23 +26,23 @@ func (gui *Gui) handleStashEntrySelect() error { return gui.renderDiff() } - gui.splitMainPanel(false) - - gui.getMainView().Title = "Stash" - + var task updateTask stashEntry := gui.getSelectedStashEntry() if stashEntry == nil { - return gui.newStringTask("main", gui.Tr.SLocalize("NoStashEntries")) + task = gui.createRenderStringTask(gui.Tr.SLocalize("NoStashEntries")) + } else { + cmd := gui.OSCommand.ExecutableFromString( + gui.GitCommand.ShowStashEntryCmdStr(stashEntry.Index), + ) + task = gui.createRunPtyTask(cmd) } - cmd := gui.OSCommand.ExecutableFromString( - gui.GitCommand.ShowStashEntryCmdStr(stashEntry.Index), - ) - if err := gui.newPtyTask("main", cmd); err != nil { - gui.Log.Error(err) - } - - return nil + return gui.refreshMain(refreshMainOpts{ + main: &viewUpdateOpts{ + title: "Stash", + task: task, + }, + }) } func (gui *Gui) refreshStashEntries(g *gocui.Gui) error {