1#ifndef YAZE_CLI_HANDLERS_TOOLS_ROM_COMPARE_COMMANDS_H
2#define YAZE_CLI_HANDLERS_TOOLS_ROM_COMPARE_COMMANDS_H
21 std::string
GetName()
const override {
return "rom-compare"; }
24 return "Compare two ROMs to identify differences and corruption";
28 return "rom-compare --rom <path> --baseline <path> [--verbose] "
29 "[--show-diff] [--format json|text]";
39 desc.
summary =
"Compare a target ROM against a baseline to identify "
40 "differences, detect corruption, and verify data integrity.";
47 if (!parser.
GetString(
"baseline").has_value()) {
48 return absl::InvalidArgumentError(
"Missing required --baseline argument");
50 return absl::OkStatus();
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Compare two ROMs to identify differences and corruption.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetDescription() const
std::string GetName() const override
Get the command name.
std::string GetOutputTitle() const override
Get the output title for formatting.
std::string GetDefaultFormat() const override
Get the default output format ("json" or "text")
Descriptor Describe() const override
Provide metadata for TUI/help summaries.
std::string GetUsage() const override
Get the command usage string.
Utility for parsing common CLI argument patterns.
std::optional< std::string > GetString(const std::string &name) const
Parse a named argument (e.g., –format=json or –format json)
Base class for CLI command handlers.
Namespace for the command line interface.
std::string todo_reference