From 46883cc42d09c48d266e0c8b98cbf58878026269 Mon Sep 17 00:00:00 2001 From: strNophix Date: Mon, 21 Mar 2022 18:23:28 +0100 Subject: [PATCH] Moved argument parsing out of NewModel() --- main.go | 10 +++++++++- pkg/model.go | 13 ++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/main.go b/main.go index e72f46f..29d8c6d 100644 --- a/main.go +++ b/main.go @@ -2,13 +2,21 @@ package main import ( "log" + "os" gomus "git.cesium.pw/niku/gomus/pkg" tea "github.com/charmbracelet/bubbletea" ) func main() { - p := tea.NewProgram(gomus.NewModel()) + if len(os.Args) < 2 { + log.Fatal("Expected a path to some music") + } + + p := tea.NewProgram(gomus.NewModel(gomus.ModelArgs{ + MusicPath: os.Args[1], + })) + if err := p.Start(); err != nil { log.Fatalf("Failed to start: %v", err) } diff --git a/pkg/model.go b/pkg/model.go index 0286adf..6a1309d 100644 --- a/pkg/model.go +++ b/pkg/model.go @@ -12,6 +12,10 @@ var ( termHeight = 0 ) +type ModelArgs struct { + MusicPath string +} + type Model struct { cursor int currentlyPlaying int @@ -22,13 +26,8 @@ type Model struct { trackPlayerView trackPlayerView } -func NewModel() Model { - if len(os.Args) < 2 { - fmt.Println("Expected a path to some music") - os.Exit(0) - } - - ti := NewDirTrackIndex(os.Args[1]) +func NewModel(args ModelArgs) Model { + ti := NewDirTrackIndex(args.MusicPath) tpv := newTrackPlayerView(ti.tracks) return Model{