Add JSON configuration file support with merge hierarchy for Issue #21#22
Merged
darianmiller merged 2 commits intomainfrom Apr 4, 2026
Merged
Add JSON configuration file support with merge hierarchy for Issue #21#22darianmiller merged 2 commits intomainfrom
darianmiller merged 2 commits intomainfrom
Conversation
Introduces three config file locations ($HOME, project-level, local override) with scalar-override and array-append merge semantics. Supports upward traversal (searchParentFolders) triggered by project or local config, with stop-marker support.
- Add `-ConfigFile <path>` to inject an explicit config file (e.g. for CI pipelines) at highest config priority below command-line parameters. - Add `-ShowConfig` to display the effective merged configuration and exit without scanning or cleaning. Supports `-Json` for machine-readable output. - Add freed-space reporting to the clean summary: `Space freed : 142.3 MB` (text) or `BytesFreed` (JSON). Also reported in `-Check` mode as `Space to free` and in `-WhatIf` mode as `Space would free`. - Add elapsed time to all summaries (`Duration` in text, `DurationMs` in JSON). - Add `Size` (bytes) to every item in the JSON `Items` array, covering both files (direct length) and directories (recursive sum computed before deletion). - Add `Write-Progress` feedback during file scan (updates every 500 files) and during the deletion phase; suppressed when `-Json` is active. - Add cross-platform build artifact patterns to the `standard` level: `*.o`, `*.a` (Linux/macOS object/static-lib), `*.dylib` (macOS dynamic lib). - Add `iOSSimulatorArm64` and `LinuxARM64` output directories to the `standard` level for Delphi 12+ platform targets. - Add `*.mab` (MadExcept/JEDI debug map) to the `deep` level.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Introduces three config file locations ($HOME, project-level, local override) with scalar-override and array-append merge semantics. Supports upward traversal (searchParentFolders) triggered by project or local config, with stop-marker support.