Files
term-tier/internal/handlers/keyMsgHandler.go
T

33 lines
773 B
Go
Raw Normal View History

package handlers
import (
"github.com/StevanFreeborn/term-tier/internal/core"
"github.com/StevanFreeborn/term-tier/internal/state"
tea "github.com/charmbracelet/bubbletea"
)
type KeyMsgHandler interface {
KeysHandled() []string
Description() string
Match(s state.State, msg tea.KeyMsg) bool
Handle(s state.State, msg tea.KeyMsg) tea.Cmd
}
func GetAllKeyHandlers(saver core.Saver) []KeyMsgHandler {
return []KeyMsgHandler{
NewTextInputHandler(),
NewQuitHandler(),
NewUpNavigationHandler(),
NewDownNavigationHandler(),
NewLeftNavigationHandler(),
NewRightNavigationHandler(),
NewDeleteItemHandler(),
NewAddItemHandler(),
NewUpdateItemHandler(),
NewSelectItemHandler(),
NewLoadHandler(saver),
NewSaveHandler(saver),
NewHelpHandler(),
}
}