From eda38e16db35505617d634456756a902011264de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Thu, 15 Feb 2024 21:55:33 +0800 Subject: [PATCH] Colors: don't print extra empty lines --- src/modules/colors/colors.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/modules/colors/colors.c b/src/modules/colors/colors.c index e8bcacff4..df4756975 100644 --- a/src/modules/colors/colors.c +++ b/src/modules/colors/colors.c @@ -19,7 +19,7 @@ void ffPrintColors(FFColorsOptions* options) if(instance.config.display.pipe) return; - ffPrintLogoAndKey(FF_COLORS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + bool flag = false; FF_STRBUF_AUTO_DESTROY result = ffStrbufCreateA(128); @@ -34,13 +34,15 @@ void ffPrintColors(FFColorsOptions* options) } if (result.length > 0) { + ffPrintLogoAndKey(FF_COLORS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + flag = true; + if(options->paddingLeft > 0) ffPrintCharTimes(' ', options->paddingLeft); ffStrbufAppendS(&result, FASTFETCH_TEXT_MODIFIER_RESET); ffStrbufPutTo(&result, stdout); ffStrbufClear(&result); - ffLogoPrintLine(); } // 1: Set everything to bolt. This causes normal colors on some systems to be bright. @@ -70,11 +72,24 @@ void ffPrintColors(FFColorsOptions* options) if (result.length > 0) { + if (flag) + ffLogoPrintLine(); + else + { + ffPrintLogoAndKey(FF_COLORS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + flag = true; + } + if(options->paddingLeft > 0) ffPrintCharTimes(' ', options->paddingLeft); ffStrbufAppendS(&result, FASTFETCH_TEXT_MODIFIER_RESET); ffStrbufPutTo(&result, stdout); } + + if (!flag) + { + ffPrintError(FF_COLORS_MODULE_NAME, 0, &options->moduleArgs, "%s", "Nothing to print"); + } } bool ffParseColorsCommandOptions(FFColorsOptions* options, const char* key, const char* value)