From abcbb0eed6ce1059e6e0118a5852008891e527d0 Mon Sep 17 00:00:00 2001 From: nekohepott Date: Wed, 17 Jun 2026 04:16:28 +0300 Subject: [PATCH] more readable logo detection --- src/providers/logo.go | 57 ++++++++----------------------------------- 1 file changed, 10 insertions(+), 47 deletions(-) diff --git a/src/providers/logo.go b/src/providers/logo.go index 9266441..a28dc0a 100644 --- a/src/providers/logo.go +++ b/src/providers/logo.go @@ -4,8 +4,10 @@ import ( "fmt" "os" "os/exec" + "path" "path/filepath" "regexp" + "slices" "strings" "unicode/utf8" ) @@ -13,58 +15,19 @@ import ( var ansiEscapeRe = regexp.MustCompile(`\x1b\[[0-9;?]*[ -/]*[@-~]`) func GetLogo(id string) string { - switch { - case strings.HasPrefix(id, "arch"): - return "logos/arch.png" - case strings.HasPrefix(id, "nixos"): - return "logos/nixos.png" - case strings.HasPrefix(id, "debian"): - return "logos/debian.png" - case strings.HasPrefix(id, "ubuntu"): - return "logos/ubuntu.png" - case strings.HasPrefix(id, "pop"): - return "logos/pop.png" - case strings.HasPrefix(id, "fedora"): - return "logos/fedora.png" - case strings.HasPrefix(id, "manjaro"): - return "logos/manjaro.png" - case strings.HasPrefix(id, "alpine"): - return "logos/alpine.png" - case strings.HasPrefix(id, "gentoo"): - return "logos/gentoo.png" - case strings.HasPrefix(id, "void"): - return "logos/void.png" - case strings.HasPrefix(id, "opensuse"): - return "logos/opensuse.png" - case strings.HasPrefix(id, "linuxmint"): - return "logos/mint.png" - case strings.HasPrefix(id, "kali"): - return "logos/kali.png" - case strings.HasPrefix(id, "cachyos"): - return "logos/cachyos.png" - case strings.HasPrefix(id, "endevaouros"): - return "logos/endevaouros.png" - case strings.HasPrefix(id, "artix"): - return "logos/artix.png" - case strings.HasPrefix(id, "chimera"): - return "logos/chimera.png" - - default: - return "logos/linux.png" + knownIDs := []string{"arch", "nixos", "debian", "alpine", "gentoo", "void", "chimera", "cachyos", "artix", "endeavouros", "fedora", "kali", "linuxmint", "manjaro", "ubuntu", "opensuse"} + if slices.Contains(knownIDs, id) { + return path.Join("logos", id+".png") } + return "logos/linux.png" } func GetAscii(id string) string { - switch { - case strings.HasPrefix(id, "arch"): - return "logos/arch.txt" - case strings.HasPrefix(id, "nixos"): - return "logos/nixos.txt" - case strings.HasPrefix(id, "debian"): - return "logos/debian.txt" - default: - return "logos/linux.txt" + knownIDs := []string{"arch", "nixos", "debian"} + if slices.Contains(knownIDs, id) { + return path.Join("ascii", id+".txt") } + return "ascii/linux.txt" } func PrintAsciiLogo(path string) string {