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

Method drawMenu

ui.go:1097–1127  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1095}
1096
1097func (ui *ui) drawMenu() {
1098 if ui.menu == "" {
1099 return
1100 }
1101
1102 lines := strings.Split(ui.menu, "\n")
1103 lines = lines[:len(lines)-1]
1104
1105 ui.menuWin.h = len(lines)
1106 ui.menuWin.y = ui.msgWin.y - ui.menuWin.h
1107
1108 // clear sixel image if it overlaps with the menu
1109 ui.screen.LockRegion(ui.menuWin.x, ui.menuWin.y, ui.menuWin.w, ui.menuWin.h, false)
1110 ui.sxScreen.forceClear = true
1111
1112 for i, line := range lines {
1113 var st tcell.Style
1114 if i == 0 {
1115 st = parseEscapeSequence(gOpts.menuheaderfmt)
1116 } else {
1117 st = parseEscapeSequence(gOpts.menufmt)
1118 }
1119
1120 ui.menuWin.printLine(ui.screen, 0, i, st, line)
1121 }
1122
1123 if ui.menuSelect != nil {
1124 st := parseEscapeSequence(gOpts.menuselectfmt)
1125 ui.menuWin.print(ui.screen, ui.menuSelect.x, ui.menuSelect.y, st, ui.menuSelect.s)
1126 }
1127}
1128
1129func (ui *ui) dirOfWin(nav *nav, wind int) *dir {
1130 wins := len(ui.wins)

Callers 1

drawMethod · 0.95

Calls 3

parseEscapeSequenceFunction · 0.85
printLineMethod · 0.80
printMethod · 0.80

Tested by

no test coverage detected