mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-10-29 00:03:58 +01:00
Kernel: code refactor
This commit is contained in:
+22
-15
@@ -3,29 +3,32 @@
|
||||
#include "modules/kernel/kernel.h"
|
||||
#include "util/stringUtils.h"
|
||||
|
||||
#define FF_KERNEL_NUM_FORMAT_ARGS 5
|
||||
#define FF_KERNEL_NUM_FORMAT_ARGS 6
|
||||
|
||||
void ffPrintKernel(FFKernelOptions* options)
|
||||
{
|
||||
const FFPlatform* platform = &instance.state.platform;
|
||||
const FFPlatformSysinfo* info = &instance.state.platform.sysinfo;
|
||||
if(options->moduleArgs.outputFormat.length == 0)
|
||||
{
|
||||
ffPrintLogoAndKey(FF_KERNEL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT);
|
||||
printf("%s %s", platform->systemName.chars, platform->systemRelease.chars);
|
||||
printf("%s %s", info->name.chars, info->release.chars);
|
||||
|
||||
if(platform->systemDisplayVersion.length > 0)
|
||||
printf(" (%s)\n", platform->systemDisplayVersion.chars);
|
||||
if(info->displayVersion.length > 0)
|
||||
printf(" (%s)\n", info->displayVersion.chars);
|
||||
else
|
||||
putchar('\n');
|
||||
}
|
||||
else
|
||||
{
|
||||
FF_STRBUF_AUTO_DESTROY str = ffStrbufCreate();
|
||||
ffParseSize(info->pageSize, &str);
|
||||
FF_PRINT_FORMAT_CHECKED(FF_KERNEL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, FF_KERNEL_NUM_FORMAT_ARGS, ((FFformatarg[]){
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &platform->systemName, "sysname"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &platform->systemRelease, "release"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &platform->systemVersion, "version"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &platform->systemArchitecture, "arch"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &platform->systemDisplayVersion, "display-version"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &info->name, "sysname"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &info->release, "release"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &info->version, "version"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &info->architecture, "arch"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &info->displayVersion, "display-version"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &str, "page-size"},
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -67,12 +70,15 @@ void ffGenerateKernelJsonConfig(FFKernelOptions* options, yyjson_mut_doc* doc, y
|
||||
|
||||
void ffGenerateKernelJsonResult(FF_MAYBE_UNUSED FFKernelOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
|
||||
{
|
||||
const FFPlatformSysinfo* info = &instance.state.platform.sysinfo;
|
||||
|
||||
yyjson_mut_val* obj = yyjson_mut_obj_add_obj(doc, module, "result");
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "architecture", &instance.state.platform.systemArchitecture);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "name", &instance.state.platform.systemName);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "release", &instance.state.platform.systemRelease);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "version", &instance.state.platform.systemVersion);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "displayVersion", &instance.state.platform.systemDisplayVersion);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "architecture", &info->architecture);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "name", &info->name);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "release", &info->release);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "version", &info->version);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "displayVersion", &info->displayVersion);
|
||||
yyjson_mut_obj_add_uint(doc, obj, "pageSize", info->pageSize);
|
||||
}
|
||||
|
||||
void ffPrintKernelHelpFormat(void)
|
||||
@@ -83,6 +89,7 @@ void ffPrintKernelHelpFormat(void)
|
||||
"Version - version",
|
||||
"Architecture - arch",
|
||||
"Display version - display-version",
|
||||
"Page size - page-size",
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
+7
-7
@@ -19,7 +19,7 @@ static void buildOutputDefault(const FFOSResult* os, FFstrbuf* result)
|
||||
else if(os->id.length > 0)
|
||||
ffStrbufAppend(result, &os->id);
|
||||
else
|
||||
ffStrbufAppend(result, &instance.state.platform.systemName);
|
||||
ffStrbufAppend(result, &instance.state.platform.sysinfo.name);
|
||||
|
||||
//Append code name if it is missing
|
||||
if(os->codename.length > 0 && !ffStrbufContainIgnCase(result, &os->codename))
|
||||
@@ -55,10 +55,10 @@ static void buildOutputDefault(const FFOSResult* os, FFstrbuf* result)
|
||||
}
|
||||
|
||||
//Append architecture if it is missing
|
||||
if(!ffStrbufContainIgnCase(result, &instance.state.platform.systemArchitecture))
|
||||
if(!ffStrbufContainIgnCase(result, &instance.state.platform.sysinfo.architecture))
|
||||
{
|
||||
ffStrbufAppendC(result, ' ');
|
||||
ffStrbufAppend(result, &instance.state.platform.systemArchitecture);
|
||||
ffStrbufAppend(result, &instance.state.platform.sysinfo.architecture);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,10 +80,10 @@ static void buildOutputNixOS(const FFOSResult* os, FFstrbuf* result)
|
||||
ffStrbufAppendC(result, ')');
|
||||
}
|
||||
|
||||
if(instance.state.platform.systemArchitecture.length > 0)
|
||||
if(instance.state.platform.sysinfo.architecture.length > 0)
|
||||
{
|
||||
ffStrbufAppendC(result, ' ');
|
||||
ffStrbufAppend(result, &instance.state.platform.systemArchitecture);
|
||||
ffStrbufAppend(result, &instance.state.platform.sysinfo.architecture);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,7 +112,7 @@ void ffPrintOS(FFOSOptions* options)
|
||||
else
|
||||
{
|
||||
FF_PRINT_FORMAT_CHECKED(FF_OS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, FF_OS_NUM_FORMAT_ARGS, ((FFformatarg[]){
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &instance.state.platform.systemName, "sysname"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &instance.state.platform.sysinfo.name, "sysname"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &os->name, "name"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &os->prettyName, "pretty-name"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &os->id, "id"},
|
||||
@@ -123,7 +123,7 @@ void ffPrintOS(FFOSOptions* options)
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &os->versionID, "version-id"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &os->codename, "codename"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &os->buildID, "build-id"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &instance.state.platform.systemArchitecture, "arch"}
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &instance.state.platform.sysinfo.architecture, "arch"}
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -176,7 +176,6 @@ void ffGenerateTitleJsonResult(FF_MAYBE_UNUSED FFTitleOptions* options, yyjson_m
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "homeDir", &instance.state.platform.homeDir);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "exePath", &instance.state.platform.exePath);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "userShell", &instance.state.platform.userShell);
|
||||
yyjson_mut_obj_add_uint(doc, obj, "pageSize", instance.state.platform.pageSize);
|
||||
}
|
||||
|
||||
void ffPrintTitleHelpFormat(void)
|
||||
|
||||
@@ -5,17 +5,16 @@
|
||||
#include "modules/version/version.h"
|
||||
#include "util/stringUtils.h"
|
||||
|
||||
#define FF_VERSION_NUM_FORMAT_ARGS 9
|
||||
#define FF_VERSION_NUM_FORMAT_ARGS 10
|
||||
|
||||
void ffPrintVersion(FFVersionOptions* options)
|
||||
{
|
||||
FFVersionResult result;
|
||||
ffDetectVersion(&result);
|
||||
FFVersionResult* result = &ffVersionResult;
|
||||
|
||||
if(options->moduleArgs.outputFormat.length == 0)
|
||||
{
|
||||
ffPrintLogoAndKey(FF_VERSION_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT);
|
||||
printf("%s %s%s%s (%s)\n", result.projectName, result.version, result.versionTweak, result.debugMode ? "-debug" : "", result.architecture);
|
||||
printf("%s %s%s%s (%s)\n", result->projectName, result->version, result->versionTweak, result->debugMode ? "-debug" : "", result->architecture);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -32,14 +31,15 @@ void ffPrintVersion(FFVersionOptions* options)
|
||||
}
|
||||
|
||||
FF_PRINT_FORMAT_CHECKED(FF_VERSION_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, FF_VERSION_NUM_FORMAT_ARGS, ((FFformatarg[]){
|
||||
{FF_FORMAT_ARG_TYPE_STRING, result.projectName, "project-name"},
|
||||
{FF_FORMAT_ARG_TYPE_STRING, result.version, "version"},
|
||||
{FF_FORMAT_ARG_TYPE_STRING, result.versionTweak, "version-tweak"},
|
||||
{FF_FORMAT_ARG_TYPE_STRING, result.debugMode ? "debug" : "release", "build-type"},
|
||||
{FF_FORMAT_ARG_TYPE_STRING, result.architecture, "arch"},
|
||||
{FF_FORMAT_ARG_TYPE_STRING, result.cmakeBuiltType, "cmake-built-type"},
|
||||
{FF_FORMAT_ARG_TYPE_STRING, result.compileTime, "compile-time"},
|
||||
{FF_FORMAT_ARG_TYPE_STRING, result.compiler, "compiler"},
|
||||
{FF_FORMAT_ARG_TYPE_STRING, result->projectName, "project-name"},
|
||||
{FF_FORMAT_ARG_TYPE_STRING, result->version, "version"},
|
||||
{FF_FORMAT_ARG_TYPE_STRING, result->versionTweak, "version-tweak"},
|
||||
{FF_FORMAT_ARG_TYPE_STRING, result->debugMode ? "debug" : "release", "build-type"},
|
||||
{FF_FORMAT_ARG_TYPE_STRING, result->sysName, "sysname"},
|
||||
{FF_FORMAT_ARG_TYPE_STRING, result->architecture, "arch"},
|
||||
{FF_FORMAT_ARG_TYPE_STRING, result->cmakeBuiltType, "cmake-built-type"},
|
||||
{FF_FORMAT_ARG_TYPE_STRING, result->compileTime, "compile-time"},
|
||||
{FF_FORMAT_ARG_TYPE_STRING, result->compiler, "compiler"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &buf, "libc-used"},
|
||||
}));
|
||||
}
|
||||
@@ -82,18 +82,18 @@ void ffGenerateVersionJsonConfig(FFVersionOptions* options, yyjson_mut_doc* doc,
|
||||
|
||||
void ffGenerateVersionJsonResult(FF_MAYBE_UNUSED FFVersionOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
|
||||
{
|
||||
FFVersionResult result;
|
||||
ffDetectVersion(&result);
|
||||
FFVersionResult* result = &ffVersionResult;
|
||||
|
||||
yyjson_mut_val* obj = yyjson_mut_obj_add_obj(doc, module, "result");
|
||||
yyjson_mut_obj_add_str(doc, obj, "projectName", result.projectName);
|
||||
yyjson_mut_obj_add_str(doc, obj, "architecture", result.architecture);
|
||||
yyjson_mut_obj_add_str(doc, obj, "version", result.version);
|
||||
yyjson_mut_obj_add_str(doc, obj, "versionTweak", result.versionTweak);
|
||||
yyjson_mut_obj_add_str(doc, obj, "cmakeBuiltType", result.cmakeBuiltType);
|
||||
yyjson_mut_obj_add_str(doc, obj, "compileTime", result.compileTime);
|
||||
yyjson_mut_obj_add_str(doc, obj, "compiler", result.compiler);
|
||||
yyjson_mut_obj_add_bool(doc, obj, "debugMode", result.debugMode);
|
||||
yyjson_mut_obj_add_str(doc, obj, "projectName", result->projectName);
|
||||
yyjson_mut_obj_add_str(doc, obj, "sysName", result->sysName);
|
||||
yyjson_mut_obj_add_str(doc, obj, "architecture", result->architecture);
|
||||
yyjson_mut_obj_add_str(doc, obj, "version", result->version);
|
||||
yyjson_mut_obj_add_str(doc, obj, "versionTweak", result->versionTweak);
|
||||
yyjson_mut_obj_add_str(doc, obj, "cmakeBuiltType", result->cmakeBuiltType);
|
||||
yyjson_mut_obj_add_str(doc, obj, "compileTime", result->compileTime);
|
||||
yyjson_mut_obj_add_str(doc, obj, "compiler", result->compiler);
|
||||
yyjson_mut_obj_add_bool(doc, obj, "debugMode", result->debugMode);
|
||||
|
||||
FFLibcResult libcResult;
|
||||
if (ffDetectLibc(&libcResult))
|
||||
@@ -119,6 +119,7 @@ void ffPrintVersionHelpFormat(void)
|
||||
"Version - version",
|
||||
"Version tweak - version-tweak",
|
||||
"Build type (debug or release) - build-type",
|
||||
"System name - sysname",
|
||||
"Architecture - arch",
|
||||
"CMake build type when compiling (Debug, Release, RelWithDebInfo, MinSizeRel) - cmake-built-type",
|
||||
"Date time when compiling - compile-time",
|
||||
|
||||
Reference in New Issue
Block a user