feat(config): add collapse_parent_node & move_to_parent_node keymaps (#530)

This commit is contained in:
Ayyan 2025-04-19 14:31:54 -04:00 • committed by GitHub
parent 7ccd676f52
commit c6c66c31ba
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 26 additions and 0 deletions

View file

@ -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:

View file

@ -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{