diff options
Diffstat (limited to 'pkg/gui/context/working_tree_context.go')
-rw-r--r-- | pkg/gui/context/working_tree_context.go | 11 |
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 { |