more readable logo detection
This commit is contained in:
parent
8900e9cc20
commit
abcbb0eed6
@ -4,8 +4,10 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
"slices"
|
||||||
"strings"
|
"strings"
|
||||||
"unicode/utf8"
|
"unicode/utf8"
|
||||||
)
|
)
|
||||||
@ -13,58 +15,19 @@ import (
|
|||||||
var ansiEscapeRe = regexp.MustCompile(`\x1b\[[0-9;?]*[ -/]*[@-~]`)
|
var ansiEscapeRe = regexp.MustCompile(`\x1b\[[0-9;?]*[ -/]*[@-~]`)
|
||||||
|
|
||||||
func GetLogo(id string) string {
|
func GetLogo(id string) string {
|
||||||
switch {
|
knownIDs := []string{"arch", "nixos", "debian", "alpine", "gentoo", "void", "chimera", "cachyos", "artix", "endeavouros", "fedora", "kali", "linuxmint", "manjaro", "ubuntu", "opensuse"}
|
||||||
case strings.HasPrefix(id, "arch"):
|
if slices.Contains(knownIDs, id) {
|
||||||
return "logos/arch.png"
|
return path.Join("logos", id+".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"
|
|
||||||
}
|
}
|
||||||
|
return "logos/linux.png"
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetAscii(id string) string {
|
func GetAscii(id string) string {
|
||||||
switch {
|
knownIDs := []string{"arch", "nixos", "debian"}
|
||||||
case strings.HasPrefix(id, "arch"):
|
if slices.Contains(knownIDs, id) {
|
||||||
return "logos/arch.txt"
|
return path.Join("ascii", id+".txt")
|
||||||
case strings.HasPrefix(id, "nixos"):
|
|
||||||
return "logos/nixos.txt"
|
|
||||||
case strings.HasPrefix(id, "debian"):
|
|
||||||
return "logos/debian.txt"
|
|
||||||
default:
|
|
||||||
return "logos/linux.txt"
|
|
||||||
}
|
}
|
||||||
|
return "ascii/linux.txt"
|
||||||
}
|
}
|
||||||
|
|
||||||
func PrintAsciiLogo(path string) string {
|
func PrintAsciiLogo(path string) string {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user