diff --git a/pkg/gui/layout.go b/pkg/gui/layout.go index 29d75a1b5..10f350707 100644 --- a/pkg/gui/layout.go +++ b/pkg/gui/layout.go @@ -64,7 +64,7 @@ func (gui *Gui) createAllViews() error { gui.Views.SearchPrefix.BgColor = gocui.ColorDefault gui.Views.SearchPrefix.FgColor = gocui.ColorGreen gui.Views.SearchPrefix.Frame = false - gui.setViewContent(gui.Views.SearchPrefix, SEARCH_PREFIX) + gui.setViewContentSync(gui.Views.SearchPrefix, SEARCH_PREFIX) gui.Views.Stash.Title = gui.Tr.StashTitle gui.Views.Stash.FgColor = theme.GocuiDefaultTextColor @@ -248,7 +248,7 @@ func (gui *Gui) layout(g *gocui.Gui) error { gui.Views.CommitFiles.Visible = gui.getViewNameForWindow(gui.State.Contexts.CommitFiles.GetWindowName()) == "commitFiles" if gui.State.OldInformation != informationStr { - gui.setViewContent(gui.Views.Information, informationStr) + gui.setViewContentSync(gui.Views.Information, informationStr) gui.State.OldInformation = informationStr } diff --git a/pkg/gui/line_by_line_panel.go b/pkg/gui/line_by_line_panel.go index df787b165..0267a091d 100644 --- a/pkg/gui/line_by_line_panel.go +++ b/pkg/gui/line_by_line_panel.go @@ -92,10 +92,7 @@ func (gui *Gui) refreshLineByLinePanel(diff string, secondaryDiff string, second return false, nil } - gui.g.Update(func(*gocui.Gui) error { - gui.setViewContent(gui.Views.Secondary, secondaryPatchParser.Render(-1, -1, nil)) - return nil - }) + gui.setViewContent(gui.Views.Secondary, secondaryPatchParser.Render(-1, -1, nil)) return false, nil } @@ -228,10 +225,7 @@ func (gui *Gui) refreshMainViewForLineByLine(state *lBlPanelState) error { gui.Views.Main.Highlight = true gui.Views.Main.Wrap = false - gui.g.Update(func(*gocui.Gui) error { - gui.setViewContent(gui.Views.Main, colorDiff) - return nil - }) + gui.setViewContent(gui.Views.Main, colorDiff) return nil } diff --git a/pkg/gui/status_panel.go b/pkg/gui/status_panel.go index 20a7a05b5..c3306e0f2 100644 --- a/pkg/gui/status_panel.go +++ b/pkg/gui/status_panel.go @@ -5,7 +5,6 @@ import ( "strings" "github.com/fatih/color" - "github.com/jesseduffield/gocui" "github.com/jesseduffield/lazygit/pkg/commands" "github.com/jesseduffield/lazygit/pkg/gui/presentation" "github.com/jesseduffield/lazygit/pkg/utils" @@ -42,10 +41,7 @@ func (gui *Gui) refreshStatus() { repoName := utils.GetCurrentRepoName() status += fmt.Sprintf("%s → %s ", repoName, name) - gui.g.Update(func(*gocui.Gui) error { - gui.setViewContent(gui.Views.Status, status) - return nil - }) + gui.setViewContent(gui.Views.Status, status) } func runeCount(str string) int { diff --git a/pkg/gui/view_helpers.go b/pkg/gui/view_helpers.go index a7d64559c..dc4f4675d 100644 --- a/pkg/gui/view_helpers.go +++ b/pkg/gui/view_helpers.go @@ -201,11 +201,18 @@ func (gui *Gui) cleanString(s string) string { return utils.NormalizeLinefeeds(output) } -func (gui *Gui) setViewContent(v *gocui.View, s string) { +func (gui *Gui) setViewContentSync(v *gocui.View, s string) { v.Clear() fmt.Fprint(v, gui.cleanString(s)) } +func (gui *Gui) setViewContent(v *gocui.View, s string) { + gui.g.Update(func(*gocui.Gui) error { + gui.setViewContentSync(v, s) + return nil + }) +} + // renderString resets the origin of a view and sets its content func (gui *Gui) renderString(view *gocui.View, s string) { gui.g.Update(func(*gocui.Gui) error { @@ -220,7 +227,7 @@ func (gui *Gui) renderStringSync(view *gocui.View, s string) error { if err := view.SetCursor(0, 0); err != nil { return err } - gui.setViewContent(view, s) + gui.setViewContentSync(view, s) return nil }