mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-09-12 10:22:12 +02:00
Packages: split brew-cellar and brew-cask (macOS)
`brew info` shows number of `brew-cellar` packages only. Split `brew-cellar` out of `brew` to avoid users from confusion.
This commit is contained in:
+1
-1
@@ -3,7 +3,7 @@
|
||||
--kernel-format Sysname: {}; Release: {}; Version: {}
|
||||
--uptime-format Days: {}; Hours: {}; Minutes: {}; Seconds: {}
|
||||
--processes-format Count: {}
|
||||
--packages-format All: {}; pacman: {}; pacman branch: {}; dpkg: {}; rpm: {}; emerge: {}; xbps: {}; apk: {}; flatpak: {}; snap: {}; brew: {}
|
||||
--packages-format All: {}; pacman: {}; pacman branch: {}; dpkg: {}; rpm: {}; emerge: {}; xbps: {}; apk: {}; flatpak: {}; snap: {}; brew: {}; brew-cask: {}; port: {}; scoop: {}; choco: {}
|
||||
--shell-format Process name: {}; Process path: {}; Process exe: {}; Process version: {}; User path: {}; User exe: {}; User version: {}
|
||||
--resolution-format Width: {}; Height: {}; Refresh rate: {}
|
||||
--de-format Process name: {}; Pretty name: {}; Version: {}
|
||||
|
||||
@@ -9,6 +9,7 @@ typedef struct FFPackagesResult
|
||||
{
|
||||
uint32_t apk;
|
||||
uint32_t brew;
|
||||
uint32_t brewCask;
|
||||
uint32_t choco;
|
||||
uint32_t dpkg;
|
||||
uint32_t emerge;
|
||||
|
||||
@@ -25,35 +25,30 @@ static uint32_t getNumElements(const char* dirname, unsigned char type)
|
||||
return num_elements;
|
||||
}
|
||||
|
||||
static uint32_t countBrewPackages(const char* dirname)
|
||||
static void countBrewPackages(const char* dirname, FFPackagesResult* result)
|
||||
{
|
||||
FF_STRBUF_AUTO_DESTROY baseDir;
|
||||
ffStrbufInitS(&baseDir, dirname);
|
||||
|
||||
uint32_t result = 0;
|
||||
uint32_t baseDirLength = baseDir.length;
|
||||
|
||||
ffStrbufAppendS(&baseDir, "/Caskroom");
|
||||
result += getNumElements(baseDir.chars, DT_DIR);
|
||||
result->brewCask += getNumElements(baseDir.chars, DT_DIR);
|
||||
ffStrbufSubstrBefore(&baseDir, baseDirLength);
|
||||
|
||||
ffStrbufAppendS(&baseDir, "/Cellar");
|
||||
result += getNumElements(baseDir.chars, DT_DIR);
|
||||
result->brew += getNumElements(baseDir.chars, DT_DIR);
|
||||
ffStrbufSubstrBefore(&baseDir, baseDirLength);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static uint32_t getBrewPackages()
|
||||
static void getBrewPackages(FFPackagesResult* result)
|
||||
{
|
||||
const char* prefix = getenv("HOMEBREW_PREFIX");
|
||||
if(ffStrSet(prefix))
|
||||
return countBrewPackages(prefix);
|
||||
return countBrewPackages(prefix, result);
|
||||
|
||||
uint32_t result = 0;
|
||||
result += countBrewPackages(FASTFETCH_TARGET_DIR_ROOT"/opt/homebrew");
|
||||
result += countBrewPackages(FASTFETCH_TARGET_DIR_ROOT"/usr/local");
|
||||
return result;
|
||||
countBrewPackages(FASTFETCH_TARGET_DIR_ROOT"/opt/homebrew", result);
|
||||
countBrewPackages(FASTFETCH_TARGET_DIR_ROOT"/usr/local", result);
|
||||
}
|
||||
|
||||
static uint32_t countMacPortsPackages(const char* dirname)
|
||||
@@ -77,6 +72,6 @@ static uint32_t getMacPortsPackages()
|
||||
void ffDetectPackagesImpl(const FFinstance* instance, FFPackagesResult* result)
|
||||
{
|
||||
FF_UNUSED(instance);
|
||||
result->brew = getBrewPackages();
|
||||
getBrewPackages(result);
|
||||
result->port = getMacPortsPackages();
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "detection/packages/packages.h"
|
||||
|
||||
#define FF_PACKAGES_MODULE_NAME "Packages"
|
||||
#define FF_PACKAGES_NUM_FORMAT_ARGS 17
|
||||
#define FF_PACKAGES_NUM_FORMAT_ARGS 19
|
||||
|
||||
void ffPrintPackages(FFinstance* instance)
|
||||
{
|
||||
@@ -51,6 +51,7 @@ void ffPrintPackages(FFinstance* instance)
|
||||
FF_PRINT_PACKAGE(flatpak)
|
||||
FF_PRINT_PACKAGE(snap)
|
||||
FF_PRINT_PACKAGE(brew)
|
||||
FF_PRINT_PACKAGE_NAME(brewCask, "brew-cask")
|
||||
FF_PRINT_PACKAGE(port)
|
||||
FF_PRINT_PACKAGE(scoop)
|
||||
FF_PRINT_PACKAGE(choco)
|
||||
@@ -78,8 +79,10 @@ void ffPrintPackages(FFinstance* instance)
|
||||
{FF_FORMAT_ARG_TYPE_UINT, &counts->flatpak},
|
||||
{FF_FORMAT_ARG_TYPE_UINT, &counts->snap},
|
||||
{FF_FORMAT_ARG_TYPE_UINT, &counts->brew},
|
||||
{FF_FORMAT_ARG_TYPE_UINT, &counts->brewCask},
|
||||
{FF_FORMAT_ARG_TYPE_UINT, &counts->port},
|
||||
{FF_FORMAT_ARG_TYPE_UINT, &counts->scoop}
|
||||
{FF_FORMAT_ARG_TYPE_UINT, &counts->scoop},
|
||||
{FF_FORMAT_ARG_TYPE_UINT, &counts->choco},
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user