MCPcopy Create free account
hub / github.com/gokcehan/lf / preloadLoop

Method preloadLoop

nav.go:744–771  ·  view source on GitHub ↗
(ui *ui)

Source from the content-addressed store, hash-verified

742}
743
744func (nav *nav) preloadLoop(ui *ui) {
745 stack := []string{}
746
747 push := func(path string) {
748 stack = slices.DeleteFunc(stack, func(s string) bool { return s == path })
749 stack = append(stack, path)
750 }
751
752 pop := func() string {
753 path := stack[len(stack)-1]
754 stack = stack[:len(stack)-1]
755 return path
756 }
757
758 for {
759 if len(stack) == 0 {
760 push(<-nav.preloadChan)
761 } else {
762 select {
763 case path := <-nav.preloadChan:
764 push(path)
765 default:
766 path := pop()
767 nav.preview(path, ui.wins[len(ui.wins)-1], "preload")
768 }
769 }
770 }
771}
772
773func (nav *nav) previewLoop(ui *ui) {
774 var prev string

Callers 1

loopMethod · 0.80

Calls 1

previewMethod · 0.95

Tested by

no test coverage detected