Work
This commit is contained in:
24
searcher.go
24
searcher.go
@@ -47,6 +47,8 @@ type Searcher struct {
|
||||
selectFunc func(idx int, s string) bool
|
||||
hideOnSelect bool
|
||||
logger func(string)
|
||||
|
||||
keyMap KeyMap
|
||||
}
|
||||
|
||||
var _ Widget = (*Searcher)(nil)
|
||||
@@ -65,7 +67,15 @@ func (w *Searcher) Init(id string, style tcell.Style) {
|
||||
w.visible = true
|
||||
w.search.SetOnChange(func(prev, curr string) {
|
||||
w.updateFilter()
|
||||
w.Log("Updated Search:" + curr)
|
||||
})
|
||||
w.keyMap = NewKeyMap(map[tcell.Key]func() bool{
|
||||
tcell.KeyUp: w.handleKeyUp,
|
||||
tcell.KeyDown: w.handleKeyDown,
|
||||
tcell.KeyHome: w.handleKeyHome,
|
||||
tcell.KeyEnd: w.handleKeyEnd,
|
||||
tcell.KeyPgUp: w.handleKeyPgUp,
|
||||
tcell.KeyPgDn: w.handleKeyPgDn,
|
||||
tcell.KeyEnter: w.handleKeyEnter,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -74,17 +84,7 @@ func (w *Searcher) HandleResize(ev *tcell.EventResize) {}
|
||||
func (w *Searcher) HandleKey(ev *tcell.EventKey) bool {
|
||||
if !w.active {
|
||||
return false
|
||||
}
|
||||
|
||||
if h.HandleKeys(*ev, map[tcell.Key]func() bool{
|
||||
tcell.KeyUp: w.handleKeyUp,
|
||||
tcell.KeyDown: w.handleKeyDown,
|
||||
tcell.KeyHome: w.handleKeyHome,
|
||||
tcell.KeyEnd: w.handleKeyEnd,
|
||||
tcell.KeyPgUp: w.handleKeyPgUp,
|
||||
tcell.KeyPgDn: w.handleKeyPgDn,
|
||||
tcell.KeyEnter: w.handleKeyEnter,
|
||||
}) {
|
||||
} else if ok := w.keyMap.Handle(ev); ok {
|
||||
return true
|
||||
}
|
||||
return w.search.HandleKey(ev)
|
||||
|
||||
Reference in New Issue
Block a user