feat(config): add collapse_parent_node & move_to_parent_node keymaps (#530)
This commit is contained in:
parent
7ccd676f52
commit
c6c66c31ba
2 changed files with 26 additions and 0 deletions
|
|
@ -216,8 +216,28 @@ func (gt *GuildsTree) onSelected(n *tview.TreeNode) {
|
|||
}
|
||||
}
|
||||
|
||||
func (gt *GuildsTree) collapseParentNode(node *tview.TreeNode) {
|
||||
gt.
|
||||
GetRoot().
|
||||
Walk(func(n, parent *tview.TreeNode) bool {
|
||||
if n == node && parent.GetLevel() != 0 {
|
||||
parent.Collapse()
|
||||
gt.SetCurrentNode(parent)
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
})
|
||||
}
|
||||
|
||||
func (gt *GuildsTree) onInputCapture(event *tcell.EventKey) *tcell.EventKey {
|
||||
switch event.Name() {
|
||||
case gt.cfg.Keys.GuildsTree.CollapseParentNode:
|
||||
gt.collapseParentNode(gt.GetCurrentNode())
|
||||
return nil
|
||||
case gt.cfg.Keys.GuildsTree.MoveToParentNode:
|
||||
return tcell.NewEventKey(tcell.KeyRune, 'K', tcell.ModNone)
|
||||
|
||||
case gt.cfg.Keys.GuildsTree.SelectPrevious:
|
||||
return tcell.NewEventKey(tcell.KeyUp, 0, tcell.ModNone)
|
||||
case gt.cfg.Keys.GuildsTree.SelectNext:
|
||||
|
|
|
|||
|
|
@ -26,6 +26,9 @@ type (
|
|||
NavigationKeys
|
||||
SelectCurrent string `toml:"select_current"`
|
||||
YankID string `toml:"yank_id"`
|
||||
|
||||
CollapseParentNode string `toml:"collapse_parent_node"`
|
||||
MoveToParentNode string `toml:"move_to_parent_node"`
|
||||
}
|
||||
|
||||
MessagesTextKeys struct {
|
||||
|
|
@ -69,6 +72,9 @@ func defaultKeys() Keys {
|
|||
},
|
||||
SelectCurrent: "Enter",
|
||||
YankID: "Rune[y]",
|
||||
|
||||
CollapseParentNode: "Rune[-]",
|
||||
MoveToParentNode: "Rune[p]",
|
||||
},
|
||||
|
||||
MessagesText: MessagesTextKeys{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue