mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-11-04 12:14:19 +01:00
Config: add --list-config-paths option
This commit is contained in:
@@ -4,6 +4,7 @@ Informative options:
|
||||
-h,--help: Show this message
|
||||
-h,--help <command>: Show help for a specific command
|
||||
-v,--version: Show the version of fastfetch
|
||||
--list-config-paths: List search paths of config files
|
||||
--list-logos: List available logos
|
||||
--list-modules: List available modules
|
||||
--list-presets: List presets fastfetch knows about; they can be loaded with --load-config (+)
|
||||
|
||||
@@ -538,6 +538,15 @@ static inline void listAvailablePresets(FFinstance* instance)
|
||||
ffStrbufDestroy(&folder);
|
||||
}
|
||||
|
||||
static void listConfigPaths(FFinstance* instance)
|
||||
{
|
||||
FF_LIST_FOR_EACH(FFstrbuf, folder, instance->state.configDirs)
|
||||
{
|
||||
ffStrbufAppendS(folder, "fastfetch/config.conf");
|
||||
printf("%s%s\n", folder->chars, ffFileExists(folder->chars, S_IFREG) ? " (*)" : "");
|
||||
}
|
||||
}
|
||||
|
||||
static void parseOption(FFinstance* instance, FFdata* data, const char* key, const char* value);
|
||||
|
||||
static bool parseConfigFile(FFinstance* instance, FFdata* data, const char* path)
|
||||
@@ -902,6 +911,11 @@ static void parseOption(FFinstance* instance, FFdata* data, const char* key, con
|
||||
listAvailablePresets(instance);
|
||||
exit(0);
|
||||
}
|
||||
else if(strcasecmp(subkey, "-config-paths") == 0)
|
||||
{
|
||||
listConfigPaths(instance);
|
||||
exit(0);
|
||||
}
|
||||
else if(strcasecmp(subkey, "-features") == 0)
|
||||
{
|
||||
ffListFeatures();
|
||||
|
||||
@@ -45,6 +45,12 @@ static inline void ffListSort(FFlist* list, int(*compar)(const void*, const void
|
||||
qsort(list->data, list->length, list->elementSize, compar);
|
||||
}
|
||||
|
||||
#define FF_LIST_FOR_EACH(itemType, itemVarName, listVar) \
|
||||
assert(sizeof(itemType) == (listVar).elementSize); \
|
||||
for(itemType* itemVarName = (itemType*)(listVar).data; \
|
||||
itemVarName - (itemType*)(listVar).data < (listVar).length; \
|
||||
++itemVarName)
|
||||
|
||||
#if defined(_WIN32) || defined(__APPLE__)
|
||||
#define FF_LIST_AUTO_DESTROY FFlist __attribute__((__cleanup__(ffListDestroy)))
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user