diff options
Diffstat (limited to 'runtime/ui/view/filetree.go')
-rw-r--r-- | runtime/ui/view/filetree.go | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/runtime/ui/view/filetree.go b/runtime/ui/view/filetree.go index 62439e9..e92be37 100644 --- a/runtime/ui/view/filetree.go +++ b/runtime/ui/view/filetree.go @@ -24,7 +24,7 @@ type FileTree struct { gui *gocui.Gui view *gocui.View header *gocui.View - vm *viewmodel.FileTree + vm *viewmodel.FileTreeViewModel title string filterRegex *regexp.Regexp @@ -99,6 +99,11 @@ func (v *FileTree) Setup(view, header *gocui.View) error { Display: "Collapse all dir", }, { + ConfigKeys: []string{"keybinding.toggle-sort-order"}, + OnAction: v.toggleSortOrder, + Display: "Toggle sort order", + }, + { ConfigKeys: []string{"keybinding.toggle-added-files"}, OnAction: func() error { return v.toggleShowDiffType(filetree.Added) }, IsSelected: func() bool { return !v.vm.HiddenDiffTypes[filetree.Added] }, @@ -288,6 +293,16 @@ func (v *FileTree) toggleCollapseAll() error { return v.Render() } +func (v *FileTree) toggleSortOrder() error { + err := v.vm.ToggleSortOrder() + if err != nil { + return err + } + v.resetCursor() + _ = v.Update() + return v.Render() +} + func (v *FileTree) toggleWrapTree() error { v.view.Wrap = !v.view.Wrap return nil |