func getLine(g *gocui.Gui, v *gocui.View) error { var l string var err error _, cy := v.Cursor() if l, err = v.Line(cy); err != nil { l = "" } maxX, maxY := g.Size() if v, err := g.SetView("msg", maxX/2-30, maxY/2, maxX/2+30, maxY/2+2); err != nil { if err != gocui.ErrorUnkView { return err } fmt.Fprintln(v, l) if err := g.SetCurrentView("msg"); err != nil { return err } } if v, err := g.View("main"); err != nil { if err != gocui.ErrorUnkView { return err } f := proj.GetFile(l) if f != nil { v.Clear() fmt.Fprintf(v, "%s", f.GetBody()) } v.Editable = true v.Wrap = true } return nil }
func PrintMenu(v *gocui.View) { v.Editable = true menuItems := []interface{}{ "Exit (Ctrl C)", "Toggle Cmd Mode (Tab)", } if cTubes.Page < cTubes.Pages { menuItems = append(menuItems, "Next Page (Ctrl N)") } if cTubes.Page > 1 { menuItems = append(menuItems, "Prev Page (Ctrl P)") } if !cmdMode { verbs := []string{} for _, _ = range menuItems { verbs = append(verbs, "%s") } line := fmt.Sprintf(strings.Join(verbs, " | "), menuItems...) fmt.Fprintln(v, line) } else { prefix := fmt.Sprintf(cmdPrefix, cTubes.Selected) fmt.Fprintln(v, prefix) } }
func addProject(g *gocui.Gui, v *gocui.View) error { g.ShowCursor = true maxX, maxY := g.Size() if v, err := g.SetView("save_proj", maxX/2-30, maxY/2, maxX/2+30, maxY/2+2); err != nil { if err != gocui.ErrorUnkView { return err } setView(g, "save_proj") v.Editable = true } return nil }