1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-03-21 21:47:32 +02:00
lazygit/pkg/gui/help_panel.go
Dawid Dziurla 77623db1d0
apply fmt
2018-09-03 17:52:05 +02:00

69 lines
1.7 KiB
Go

package gui
import (
"fmt"
"github.com/jesseduffield/gocui"
"strings"
)
func (gui *Gui) renderHelpOptions(g *gocui.Gui) error {
optionsMap := map[string]string{
"esc/q": gui.Tr.SLocalize("close"),
"PgUp/PgDn": gui.Tr.SLocalize("scroll"),
}
return gui.renderOptionsMap(g, optionsMap)
}
func (gui *Gui) scrollUpHelp(g *gocui.Gui, v *gocui.View) error {
mainView, _ := g.View("help")
ox, oy := mainView.Origin()
if oy >= 1 {
return mainView.SetOrigin(ox, oy-gui.Config.GetUserConfig().GetInt("gui.scrollHeight"))
}
return nil
}
func (gui *Gui) scrollDownHelp(g *gocui.Gui, v *gocui.View) error {
mainView, _ := g.View("help")
ox, oy := mainView.Origin()
if oy < len(mainView.BufferLines()) {
return mainView.SetOrigin(ox, oy+gui.Config.GetUserConfig().GetInt("gui.scrollHeight"))
}
return nil
}
func (gui *Gui) handleHelpClose(g *gocui.Gui, v *gocui.View) error {
g.SetViewOnBottom(v.Name())
return gui.switchFocus(g, v, gui.getFilesView(g))
}
func (gui *Gui) handleHelp(g *gocui.Gui, v *gocui.View) error {
content := ""
curr := ""
bindings := gui.getKeybindings()
maxX, maxY := g.Size()
helpView, _ := g.SetView("help", 0, 0, maxX-1, maxY-2, 0)
helpView.Title = strings.Title(gui.Tr.SLocalize("help"))
gui.renderHelpOptions(g)
for _, binding := range bindings {
if binding.Description != "" {
if curr != binding.ViewName {
curr = binding.ViewName
content += fmt.Sprintf("\n%s:\n", strings.Title(curr))
}
content += fmt.Sprintf(" %s - %s\n", binding.KeyReadable, binding.Description)
}
}
helpView.Write([]byte(content))
g.Update(func(g *gocui.Gui) error {
g.SetViewOnTop("help")
gui.switchFocus(g, v, helpView)
return nil
})
return nil
}