MCPcopy
hub / github.com/jesseduffield/lazygit / processEvent

Method processEvent

pkg/gocui/gui.go:756–786  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

754}
755
756func (g *Gui) processEvent() error {
757 contentOnly := false
758
759 select {
760 case ev := <-g.gEvents:
761 task := g.NewTask()
762 defer func() { task.Done() }()
763
764 if err := g.handleError(g.handleEvent(&ev)); err != nil {
765 return err
766 }
767 case ev := <-g.userEvents:
768 contentOnly = ev.contentOnly
769 defer func() { ev.task.Done() }()
770
771 if err := g.handleError(ev.f(g)); err != nil {
772 return err
773 }
774 }
775
776 remainingContentOnly, err := g.processRemainingEvents()
777 if err != nil {
778 return err
779 }
780 contentOnly = contentOnly && remainingContentOnly
781
782 if contentOnly {
783 return g.flushContentOnly(g.views)
784 }
785 return g.flush()
786}
787
788// processRemainingEvents handles the remaining events in the events pool.
789// Returns true if all processed events were content-only.

Calls 7

NewTaskMethod · 0.95
DoneMethod · 0.95
handleErrorMethod · 0.95
handleEventMethod · 0.95
flushContentOnlyMethod · 0.95
flushMethod · 0.95