Fixes #132 Utility command for recursively listing commands & options
Loops over all parent command definitions from the command definitions module, and recursively calls the CLI for each nested command to parse options. Stores the dtos in a flat list and reconstructs the tree hierarchy for printing.
Uses a cache file to speed up consecutive runs of the ls command unless intentionally skipped (or, there's no cache file, error reading, mismatched parent commands)
[x] Related GitHub issue(s) linked in PR description
[x] Destination branch merged, built and tested with your changes
[x] Code formatted and follows best practices and patterns
[x] Code builds cleanly (no additional warnings or errors)
[x] Manually tested
[x] Automated tests are passing
[-] No decreases in automated test coverage
Probably a small dip in coverage. Since this is primarily meant to be used for debugging/developer use, I'm not sure tests are absolutely necessary right now.
Fixes #132 Utility command for recursively listing commands & options
Loops over all parent command definitions from the command definitions module, and recursively calls the CLI for each nested command to parse options. Stores the dtos in a flat list and reconstructs the tree hierarchy for printing.
Uses a cache file to speed up consecutive runs of the
ls
command unless intentionally skipped (or, there's no cache file, error reading, mismatched parent commands)