package main import ( "flag" "fmt" "os" "github.com/StevanFreeborn/term-tier/internal/handlers" "github.com/StevanFreeborn/term-tier/internal/model" "github.com/StevanFreeborn/term-tier/internal/persistence" "github.com/StevanFreeborn/term-tier/internal/state" tea "github.com/charmbracelet/bubbletea" ) var ( version = "dev" commit = "none" date = "unknown" ) func main() { showVersion := flag.Bool("version", false, "print version and exit") flag.Parse() if *showVersion { fmt.Printf("termtier %s\n", version) fmt.Printf("build date: %s\n", date) fmt.Printf("commit: %s\n", commit) os.Exit(0) } saver := persistence.NewFileSaver() s := state.New() keyMsgHandlers := handlers.GetAllKeyHandlers(saver) winSizeMsgHandlers := handlers.GetAllWinSizeHandlers() m := model.New( s, model.WithKeyMsgHandlers(keyMsgHandlers), model.WithWinSizeMsgHandlers(winSizeMsgHandlers), ) p := tea.NewProgram(m, tea.WithAltScreen()) if _, err := p.Run(); err != nil { fmt.Printf("Error: %v", err) os.Exit(1) } }