From f046ce0492e644f77d3876d8d96ffa074d861255 Mon Sep 17 00:00:00 2001 From: skanehira Date: Wed, 30 Oct 2019 02:52:53 +0900 Subject: [PATCH] add expand keybinding --- gui/gui.go | 1 + gui/tree.go | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/gui/gui.go b/gui/gui.go index 31996a6..375da7a 100644 --- a/gui/gui.go +++ b/gui/gui.go @@ -23,6 +23,7 @@ func New() *Gui { func (g *Gui) Run(i interface{}) error { g.Tree.UpdateView(g, i) + g.Tree.SetKeybindings() grid := tview.NewGrid(). AddItem(g.Tree, 0, 0, 1, 1, 0, 0, true) diff --git a/gui/tree.go b/gui/tree.go index df1e185..76495c8 100644 --- a/gui/tree.go +++ b/gui/tree.go @@ -90,3 +90,11 @@ func (t *Tree) NewNodeWithLiteral(i interface{}) *tview.TreeNode { return node.SetText(text) } + +func (t *Tree) SetKeybindings() { + t.SetSelectedFunc(func(node *tview.TreeNode) { + if len(node.GetChildren()) > 0 { + node.SetExpanded(!node.IsExpanded()) + } + }) +}