diff --git a/cli/cli.go b/cli/cli.go index 854d304..a8d5fcb 100644 --- a/cli/cli.go +++ b/cli/cli.go @@ -10,7 +10,7 @@ import ( "github.com/edouardparis/lntop/logging" "github.com/edouardparis/lntop/network" "github.com/edouardparis/lntop/network/backend" - "github.com/jroimartin/gocui" + "github.com/edouardparis/lntop/ui" ) // New creates a new cli app. @@ -47,37 +47,7 @@ func New() *cli.App { } func run(c *cli.Context) error { - g, err := gocui.NewGui(gocui.OutputNormal) - if err != nil { - return err - } - defer g.Close() - - g.SetManagerFunc(layout) - - if err := g.SetKeybinding("", gocui.KeyCtrlC, gocui.ModNone, quit); err != nil { - return err - } - - if err := g.MainLoop(); err != nil && err != gocui.ErrQuit { - return err - } - return err -} - -func layout(g *gocui.Gui) error { - maxX, maxY := g.Size() - if v, err := g.SetView("hello", maxX/2-7, maxY/2, maxX/2+7, maxY/2+2); err != nil { - if err != gocui.ErrUnknownView { - return err - } - fmt.Fprintln(v, "Hello world!") - } - return nil -} - -func quit(g *gocui.Gui, v *gocui.View) error { - return gocui.ErrQuit + return ui.New().Run() } func getNetworkFromConfig(c *cli.Context) (backend.Backend, error) { diff --git a/ui/ui.go b/ui/ui.go new file mode 100644 index 0000000..6e4ec37 --- /dev/null +++ b/ui/ui.go @@ -0,0 +1,48 @@ +package ui + +import ( + "fmt" + + "github.com/jroimartin/gocui" +) + +type Ui struct { +} + +func (u *Ui) Run() error { + g, err := gocui.NewGui(gocui.OutputNormal) + if err != nil { + return err + } + defer g.Close() + + g.SetManagerFunc(layout) + + if err := g.SetKeybinding("", gocui.KeyCtrlC, gocui.ModNone, quit); err != nil { + return err + } + + if err := g.MainLoop(); err != nil && err != gocui.ErrQuit { + return err + } + return err +} + +func layout(g *gocui.Gui) error { + maxX, maxY := g.Size() + if v, err := g.SetView("hello", maxX/2-7, maxY/2, maxX/2+7, maxY/2+2); err != nil { + if err != gocui.ErrUnknownView { + return err + } + fmt.Fprintln(v, "Hello world!") + } + return nil +} + +func quit(g *gocui.Gui, v *gocui.View) error { + return gocui.ErrQuit +} + +func New() *Ui { + return &Ui{} +}