From 2f6897ceb768e16aa12937079589b24db9f1d0f2 Mon Sep 17 00:00:00 2001 From: Hazel Noack Date: Wed, 8 Oct 2025 12:31:01 +0200 Subject: [PATCH] improved shell --- internal/cli/shell.go | 23 +++++++++++++++++++++-- main.go | 4 ---- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/internal/cli/shell.go b/internal/cli/shell.go index 0f25217..7777448 100644 --- a/internal/cli/shell.go +++ b/internal/cli/shell.go @@ -12,9 +12,14 @@ import ( ) func printResults(musicObjects []data.MusicObject) { + if len(musicObjects) <= 0 { + return + } + for _, m := range musicObjects { if a, ok := m.(data.Artist); ok { fmt.Println("artist: " + a.Name) + } else if a, ok := m.(data.Album); ok { fmt.Print("release: " + a.Name) @@ -27,15 +32,30 @@ func printResults(musicObjects []data.MusicObject) { } else { fmt.Println() } + } else if a, ok := m.(data.Song); ok { - fmt.Println("track: " + a.Name) + fmt.Print("track: " + a.Name) + if len(a.Artists) > 0 { + names := make([]string, len(a.Artists)) + for i, artist := range a.Artists { + names[i] = artist.Name + } + fmt.Println(" by " + strings.Join(names, ", ")) + } else { + fmt.Println() + } } } + + fmt.Println() } func Shell() { plugin.RegisterPlugin(&plugin.Musify{}) + fmt.Println("== MusicKraken Shell ==") + fmt.Println() + for { fmt.Print("> ") @@ -54,6 +74,5 @@ func Shell() { fmt.Println() printResults(searchResults) - fmt.Println() } } diff --git a/main.go b/main.go index 8f74df4..898d76f 100644 --- a/main.go +++ b/main.go @@ -1,13 +1,9 @@ package main import ( - "fmt" - "gitea.elara.ws/Hazel/music-kraken/internal/cli" ) func main() { - fmt.Println("welcome to music kraken") - cli.Shell() }