From d439ce8eb596638bb046df31ea2e3ca6bbb21920 Mon Sep 17 00:00:00 2001 From: Carter Li Date: Wed, 21 May 2025 15:09:19 +0800 Subject: [PATCH] Disk: rename `hiddenFolder` to `hideFolder`; add docs --- doc/json_schema.json | 4 ++++ src/data/help.json | 8 ++++++++ src/detection/disk/disk.c | 4 ++-- src/modules/disk/disk.c | 16 ++++++++-------- src/modules/disk/option.h | 2 +- 5 files changed, 23 insertions(+), 11 deletions(-) diff --git a/doc/json_schema.json b/doc/json_schema.json index 6b63916a6..597c2fe31 100644 --- a/doc/json_schema.json +++ b/doc/json_schema.json @@ -1754,6 +1754,10 @@ "type": "string", "description": "A colon (semicolon on Windows) separated list of folder paths for the disk output\nDefault: auto detection using mount-points\nThis option overrides other `show*` options" }, + "hideFolders": { + "type": "string", + "description": "A colon (semicolon on Windows) separated list of folder paths to hide from the disk output\nDefault: /efi:/boot:/boot/efi" + }, "showExternal": { "type": "boolean", "description": "Set if external volume should be printed", diff --git a/src/data/help.json b/src/data/help.json index a66e43d40..7794deeaa 100644 --- a/src/data/help.json +++ b/src/data/help.json @@ -840,6 +840,14 @@ "default": "Auto detection using mount-points" } }, + { + "long": "disk-hide-folders", + "desc": "A colon (semicolon on Windows) separated list of folder paths to hide from the disk output", + "arg": { + "type": "path", + "default": "Auto detection using mount-points" + } + }, { "long": "disk-show-regular", "desc": "Specify whether regular volumes should be displayed", diff --git a/src/detection/disk/disk.c b/src/detection/disk/disk.c index 39c0920e5..d52ea948d 100644 --- a/src/detection/disk/disk.c +++ b/src/detection/disk/disk.c @@ -54,11 +54,11 @@ const char* ffDetectDisks(FFDiskOptions* options, FFlist* disks) } } - if (options->hiddenFolders.length) + if (options->hideFolders.length) { FF_LIST_FOR_EACH(FFDisk, disk, *disks) { - if (ffDiskMatchMountpoint(&options->hiddenFolders, disk->mountpoint.chars)) + if (ffDiskMatchMountpoint(&options->hideFolders, disk->mountpoint.chars)) disk->type |= FF_DISK_VOLUME_TYPE_HIDDEN_BIT; } } diff --git a/src/modules/disk/disk.c b/src/modules/disk/disk.c index 617ef0c8c..480721739 100644 --- a/src/modules/disk/disk.c +++ b/src/modules/disk/disk.c @@ -205,9 +205,9 @@ bool ffParseDiskCommandOptions(FFDiskOptions* options, const char* key, const ch return true; } - if (ffStrEqualsIgnCase(subKey, "hidden-folders")) + if (ffStrEqualsIgnCase(subKey, "hide-folders")) { - ffOptionParseString(key, value, &options->hiddenFolders); + ffOptionParseString(key, value, &options->hideFolders); return true; } @@ -299,9 +299,9 @@ void ffParseDiskJsonObject(FFDiskOptions* options, yyjson_val* module) continue; } - if (ffStrEqualsIgnCase(key, "hiddenFolders")) + if (ffStrEqualsIgnCase(key, "hideFolders")) { - ffStrbufSetS(&options->hiddenFolders, yyjson_get_str(val)); + ffStrbufSetS(&options->hideFolders, yyjson_get_str(val)); continue; } @@ -394,8 +394,8 @@ void ffGenerateDiskJsonConfig(FFDiskOptions* options, yyjson_mut_doc* doc, yyjso if (!ffStrbufEqual(&options->folders, &defaultOptions.folders)) yyjson_mut_obj_add_strbuf(doc, module, "folders", &options->folders); - if (!ffStrbufEqual(&options->hiddenFolders, &defaultOptions.hiddenFolders)) - yyjson_mut_obj_add_strbuf(doc, module, "hiddenFolders", &options->hiddenFolders); + if (!ffStrbufEqual(&options->hideFolders, &defaultOptions.hideFolders)) + yyjson_mut_obj_add_strbuf(doc, module, "hideFolders", &options->hideFolders); if (defaultOptions.calcType != options->calcType) yyjson_mut_obj_add_bool(doc, module, "useAvailable", options->calcType == FF_DISK_CALC_TYPE_AVAILABLE); @@ -512,9 +512,9 @@ void ffInitDiskOptions(FFDiskOptions* options) ffStrbufInit(&options->folders); #if _WIN32 || __APPLE__ || __ANDROID__ - ffStrbufInit(&options->hiddenFolders); + ffStrbufInit(&options->hideFolders); #else - ffStrbufInitStatic(&options->hiddenFolders, "/efi:/boot:/boot/efi"); + ffStrbufInitStatic(&options->hideFolders, "/efi:/boot:/boot/efi"); #endif options->showTypes = FF_DISK_VOLUME_TYPE_REGULAR_BIT | FF_DISK_VOLUME_TYPE_EXTERNAL_BIT | FF_DISK_VOLUME_TYPE_READONLY_BIT; options->calcType = FF_DISK_CALC_TYPE_FREE; diff --git a/src/modules/disk/option.h b/src/modules/disk/option.h index 54573f2c3..855f6981c 100644 --- a/src/modules/disk/option.h +++ b/src/modules/disk/option.h @@ -29,7 +29,7 @@ typedef struct FFDiskOptions FFModuleArgs moduleArgs; FFstrbuf folders; - FFstrbuf hiddenFolders; + FFstrbuf hideFolders; FFDiskVolumeType showTypes; FFDiskCalcType calcType; FFPercentageModuleConfig percent;