From fa5f9414181fc8660e6e0299873354399d861935 Mon Sep 17 00:00:00 2001 From: nekohepott Date: Wed, 17 Jun 2026 04:16:35 +0300 Subject: [PATCH] feat: rorkos support --- src/providers/logo.go | 2 +- src/providers/packages.go | 22 ++++++++++++++++------ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/providers/logo.go b/src/providers/logo.go index 50f998d..d3a4e2c 100644 --- a/src/providers/logo.go +++ b/src/providers/logo.go @@ -15,7 +15,7 @@ import ( var ansiEscapeRe = regexp.MustCompile(`\x1b\[[0-9;?]*[ -/]*[@-~]`) func GetLogo(id string, conf Config, ascii *bool) string { - knownIDs := []string{"arch", "nixos", "debian", "alpine", "gentoo", "void", "chimera", "cachyos", "artix", "endeavouros", "fedora", "kali", "linuxmint", "manjaro", "ubuntu", "opensuse"} + knownIDs := []string{"arch", "nixos", "debian", "alpine", "gentoo", "void", "chimera", "cachyos", "artix", "endeavouros", "fedora", "kali", "linuxmint", "manjaro", "ubuntu", "opensuse", "rorkos"} if slices.Contains(knownIDs, id) { if conf.Ascii || (ascii != nil && *ascii) == true { return path.Join("logos", id+".txt") diff --git a/src/providers/packages.go b/src/providers/packages.go index 89b6e12..2824e4f 100644 --- a/src/providers/packages.go +++ b/src/providers/packages.go @@ -16,12 +16,13 @@ func pathExists(path string) bool { func getPmPackages(packagerName string, packagerPath string) string { if pathExists(packagerPath) { - pkgs, err := os.ReadDir(packagerPath) - if err != nil { - return "error reading " + packagerPath - } - if packagerName == "pacman" { - return strconv.Itoa(len(pkgs)-1) + " (pacman)" + if packagerName == "ror" { + file, err := os.ReadFile(packagerPath) + if err != nil { + return "error reading ror file" + } + count := strings.Count(string(file), "\"") / 2 + return strconv.Itoa(count) + " (ror)" } if packagerName == "apk" { out, err := exec.Command("apk", "info").Output() @@ -39,6 +40,14 @@ func getPmPackages(packagerName string, packagerPath string) string { return fmt.Sprintf("%d (apk)", pkgCount) } + + pkgs, err := os.ReadDir(packagerPath) + if err != nil { + return "error reading " + packagerPath + } + if packagerName == "pacman" { + return strconv.Itoa(len(pkgs)-1) + " (pacman)" + } if packagerName == "emerge" { count := 0 for _, cat := range pkgs { @@ -70,6 +79,7 @@ func GetPkgs() string { {"pacman", "/var/lib/pacman/local"}, {"nix-user", os.Getenv("HOME") + "/.local/state/nix/profiles/profile/bin"}, {"nix", "/run/current-system/sw/bin"}, + {"ror", "/etc/ror/installed.json"}, {"apt", "/var/lib/apt"}, {"dnf", "/var/lib/dnf"}, {"zypper", "/var/lib/zypp"},