summaryrefslogtreecommitdiffstats
path: root/pkg/gui/context/working_tree_context.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/gui/context/working_tree_context.go')
-rw-r--r--pkg/gui/context/working_tree_context.go11
1 files changed, 10 insertions, 1 deletions
diff --git a/pkg/gui/context/working_tree_context.go b/pkg/gui/context/working_tree_context.go
index 45502eb60..107228ee8 100644
--- a/pkg/gui/context/working_tree_context.go
+++ b/pkg/gui/context/working_tree_context.go
@@ -11,6 +11,7 @@ import (
type WorkingTreeContext struct {
*filetree.FileTreeViewModel
*ListContextTrait
+ *SearchTrait
}
var _ types.IListContext = (*WorkingTreeContext)(nil)
@@ -29,7 +30,8 @@ func NewWorkingTreeContext(c *ContextCommon) *WorkingTreeContext {
})
}
- return &WorkingTreeContext{
+ ctx := &WorkingTreeContext{
+ SearchTrait: NewSearchTrait(c),
FileTreeViewModel: viewModel,
ListContextTrait: &ListContextTrait{
Context: NewSimpleContext(NewBaseContext(NewBaseContextOpts{
@@ -44,6 +46,13 @@ func NewWorkingTreeContext(c *ContextCommon) *WorkingTreeContext {
c: c,
},
}
+
+ ctx.GetView().SetOnSelectItem(ctx.SearchTrait.onSelectItemWrapper(func(selectedLineIdx int) error {
+ ctx.GetList().SetSelectedLineIdx(selectedLineIdx)
+ return ctx.HandleFocus(types.OnFocusOpts{})
+ }))
+
+ return ctx
}
func (self *WorkingTreeContext) GetSelectedItemId() string {