mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-11-01 18:42:56 +01: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:
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user