Files

52 lines
1.0 KiB
Go

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)
}
}