1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-07-30 03:23:08 +03:00

stop refreshing the screen so much

This commit is contained in:
Jesse Duffield
2022-01-15 12:04:00 +11:00
parent f5b9ad8c00
commit cdcfeb396f
20 changed files with 113 additions and 172 deletions

View File

@ -180,7 +180,7 @@ func (gui *Gui) refreshSidePanels(options refreshOptions) error {
}
if options.mode == BLOCK_UI {
gui.g.Update(func(g *gocui.Gui) error {
gui.OnUIThread(func() error {
f()
return nil
})
@ -201,32 +201,19 @@ func (gui *Gui) cleanString(s string) string {
return utils.NormalizeLinefeeds(output)
}
func (gui *Gui) setViewContentSync(v *gocui.View, s string) {
func (gui *Gui) setViewContent(v *gocui.View, s string) {
v.SetContent(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 {
return gui.renderStringSync(view, s)
})
}
func (gui *Gui) renderStringSync(view *gocui.View, s string) error {
func (gui *Gui) renderString(view *gocui.View, s string) error {
if err := view.SetOrigin(0, 0); err != nil {
return err
}
if err := view.SetCursor(0, 0); err != nil {
return err
}
gui.setViewContentSync(view, s)
gui.setViewContent(view, s)
return nil
}
@ -240,7 +227,7 @@ func (gui *Gui) optionsMapToString(optionsMap map[string]string) string {
}
func (gui *Gui) renderOptionsMap(optionsMap map[string]string) {
gui.renderString(gui.Views.Options, gui.optionsMapToString(optionsMap))
_ = gui.renderString(gui.Views.Options, gui.optionsMapToString(optionsMap))
}
func (gui *Gui) currentViewName() string {
@ -391,5 +378,5 @@ func getTabbedView(gui *Gui) *gocui.View {
}
func (gui *Gui) render() {
gui.g.Update(func(g *gocui.Gui) error { return nil })
gui.OnUIThread(func() error { return nil })
}