Utility for parsing common CLI argument patterns. More...
#include <command_context.h>
Public Member Functions | |
| ArgumentParser (const std::vector< std::string > &args) | |
| std::optional< std::string > | GetString (const std::string &name) const |
| Parse a named argument (e.g., –format=json or –format json) | |
| absl::StatusOr< int > | GetInt (const std::string &name) const |
| Parse an integer argument (supports hex with 0x prefix) | |
| absl::StatusOr< int > | GetHex (const std::string &name) const |
| Parse a hex integer argument. | |
| bool | HasFlag (const std::string &name) const |
| Check if a flag is present. | |
| std::vector< std::string > | GetPositional () const |
| Get all remaining positional arguments. | |
| absl::Status | RequireArgs (const std::vector< std::string > &required) const |
| Validate that required arguments are present. | |
Private Member Functions | |
| std::optional< std::string > | FindArgValue (const std::string &name) const |
Private Attributes | |
| std::vector< std::string > | args_ |
Utility for parsing common CLI argument patterns.
Definition at line 78 of file command_context.h.
|
explicit |
Definition at line 124 of file command_context.cc.
| std::optional< std::string > yaze::cli::resources::ArgumentParser::GetString | ( | const std::string & | name | ) | const |
Parse a named argument (e.g., –format=json or –format json)
Definition at line 149 of file command_context.cc.
References FindArgValue().
Referenced by yaze::cli::handlers::SimpleChatCommandHandler::Execute(), yaze::cli::handlers::DialogueReadCommandHandler::Execute(), yaze::cli::handlers::DialogueSearchCommandHandler::Execute(), yaze::cli::handlers::DungeonListSpritesCommandHandler::Execute(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::cli::handlers::DungeonExportRoomCommandHandler::Execute(), yaze::cli::handlers::DungeonListObjectsCommandHandler::Execute(), yaze::cli::handlers::DungeonGetRoomTilesCommandHandler::Execute(), yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler::Execute(), yaze::cli::handlers::MessageReadCommandHandler::Execute(), yaze::cli::handlers::MessageSearchCommandHandler::Execute(), yaze::cli::handlers::MusicInfoCommandHandler::Execute(), yaze::cli::handlers::MusicTracksCommandHandler::Execute(), yaze::cli::handlers::OverworldFindTileCommandHandler::Execute(), yaze::cli::handlers::OverworldDescribeMapCommandHandler::Execute(), yaze::cli::handlers::OverworldListWarpsCommandHandler::Execute(), yaze::cli::handlers::OverworldListSpritesCommandHandler::Execute(), yaze::cli::handlers::OverworldGetEntranceCommandHandler::Execute(), yaze::cli::handlers::OverworldTileStatsCommandHandler::Execute(), yaze::cli::handlers::HexReadCommandHandler::Execute(), yaze::cli::handlers::HexWriteCommandHandler::Execute(), yaze::cli::handlers::HexSearchCommandHandler::Execute(), yaze::cli::handlers::PaletteGetColorsCommandHandler::Execute(), yaze::cli::handlers::PaletteSetColorCommandHandler::Execute(), yaze::cli::handlers::PaletteAnalyzeCommandHandler::Execute(), yaze::cli::handlers::SpriteListCommandHandler::Execute(), yaze::cli::handlers::SpritePropertiesCommandHandler::Execute(), yaze::cli::handlers::SpritePaletteCommandHandler::Execute(), yaze::cli::handlers::ProjectInitCommandHandler::Execute(), yaze::cli::handlers::RomDiffCommandHandler::Execute(), yaze::cli::handlers::RomGenerateGoldenCommandHandler::Execute(), yaze::cli::handlers::EmulatorReadMemoryCommandHandler::Execute(), yaze::cli::handlers::EmulatorWriteMemoryCommandHandler::Execute(), yaze::cli::handlers::EmulatorPressButtonsCommandHandler::Execute(), yaze::cli::handlers::EmulatorReleaseButtonsCommandHandler::Execute(), yaze::cli::handlers::EmulatorHoldButtonsCommandHandler::Execute(), yaze::cli::handlers::GuiPlaceTileCommandHandler::Execute(), yaze::cli::handlers::GuiClickCommandHandler::Execute(), yaze::cli::handlers::GuiDiscoverToolCommandHandler::Execute(), yaze::cli::handlers::GuiScreenshotCommandHandler::Execute(), yaze::cli::HexDumpCommandHandler::Execute(), yaze::cli::HexCompareCommandHandler::Execute(), yaze::cli::HexAnnotateCommandHandler::Execute(), yaze::cli::OverworldDoctorCommandHandler::Execute(), yaze::cli::handlers::ResourceListCommandHandler::Execute(), yaze::cli::handlers::ResourceSearchCommandHandler::Execute(), yaze::cli::RomCompareCommandHandler::Execute(), yaze::cli::TestListCommandHandler::Execute(), yaze::cli::TestRunCommandHandler::Execute(), yaze::cli::handlers::ToolsHarnessStateCommandHandler::Execute(), yaze::cli::handlers::ToolsExtractValuesCommandHandler::Execute(), yaze::cli::handlers::ToolsExtractGoldenCommandHandler::Execute(), yaze::cli::handlers::ToolsPatchV3CommandHandler::Execute(), yaze::cli::agent::tools::BuildConfigureCommandHandler::Execute(), yaze::cli::agent::tools::BuildCompileCommandHandler::Execute(), yaze::cli::agent::tools::BuildTestCommandHandler::Execute(), yaze::cli::agent::tools::BuildStatusCommandHandler::Execute(), yaze::cli::agent::tools::FileSystemListTool::Execute(), yaze::cli::agent::tools::FileSystemReadTool::Execute(), yaze::cli::agent::tools::FileSystemExistsTool::Execute(), yaze::cli::agent::tools::FileSystemInfoTool::Execute(), yaze::cli::agent::tools::MemoryAnalyzeTool::Execute(), yaze::cli::agent::tools::MemorySearchTool::Execute(), yaze::cli::agent::tools::MemoryCompareTool::Execute(), yaze::cli::agent::tools::MemoryCheckTool::Execute(), yaze::cli::agent::tools::MemoryRegionsTool::Execute(), yaze::cli::agent::tools::ProjectGraphTool::Execute(), yaze::cli::agent::tools::ProjectSnapshotTool::Execute(), yaze::cli::agent::tools::ProjectRestoreTool::Execute(), yaze::cli::agent::tools::ProjectExportTool::Execute(), yaze::cli::agent::tools::ProjectImportTool::Execute(), yaze::cli::agent::tools::ProjectDiffTool::Execute(), yaze::cli::agent::tools::RomDiffTool::Execute(), yaze::cli::agent::tools::RomChangesTool::Execute(), yaze::cli::agent::tools::RomValidateTool::Execute(), yaze::cli::agent::tools::DataValidateTool::Execute(), yaze::cli::agent::tools::PatchCheckTool::Execute(), yaze::cli::agent::tools::ValidateAllTool::Execute(), yaze::cli::agent::tools::TileSimilarityTool::Execute(), yaze::cli::agent::tools::SpritesheetAnalysisTool::Execute(), yaze::cli::agent::tools::PaletteUsageTool::Execute(), yaze::cli::agent::tools::TileHistogramTool::Execute(), yaze::cli::resources::CommandHandler::Run(), yaze::cli::RomCompareCommandHandler::ValidateArgs(), and yaze::cli::agent::tools::BuildConfigureCommandHandler::ValidateArgs().

| absl::StatusOr< int > yaze::cli::resources::ArgumentParser::GetInt | ( | const std::string & | name | ) | const |
Parse an integer argument (supports hex with 0x prefix)
Definition at line 154 of file command_context.cc.
References FindArgValue().
Referenced by yaze::cli::handlers::DialogueListCommandHandler::Execute(), yaze::cli::handlers::DialogueSearchCommandHandler::Execute(), yaze::cli::handlers::MessageListCommandHandler::Execute(), yaze::cli::handlers::MessageSearchCommandHandler::Execute(), yaze::cli::handlers::HexReadCommandHandler::Execute(), yaze::cli::handlers::SpriteListCommandHandler::Execute(), yaze::cli::DungeonDoctorCommandHandler::Execute(), yaze::cli::handlers::EmulatorReadMemoryCommandHandler::Execute(), yaze::cli::handlers::EmulatorHoldButtonsCommandHandler::Execute(), yaze::cli::GraphicsDoctorCommandHandler::Execute(), yaze::cli::SpriteDoctorCommandHandler::Execute(), yaze::cli::agent::tools::FileSystemReadTool::Execute(), yaze::cli::agent::tools::TileSimilarityTool::Execute(), yaze::cli::agent::tools::SpritesheetAnalysisTool::Execute(), and yaze::cli::agent::tools::TileHistogramTool::Execute().

| absl::StatusOr< int > yaze::cli::resources::ArgumentParser::GetHex | ( | const std::string & | name | ) | const |
Parse a hex integer argument.
Definition at line 181 of file command_context.cc.
References FindArgValue().

| bool yaze::cli::resources::ArgumentParser::HasFlag | ( | const std::string & | name | ) | const |
Check if a flag is present.
Definition at line 203 of file command_context.cc.
References args_.
Referenced by yaze::cli::MessageDoctorCommandHandler::Execute(), yaze::cli::handlers::SimpleChatCommandHandler::Execute(), yaze::cli::DungeonDoctorCommandHandler::Execute(), yaze::cli::handlers::EmulatorGetStateCommandHandler::Execute(), yaze::cli::GraphicsDoctorCommandHandler::Execute(), yaze::cli::OverworldDoctorCommandHandler::Execute(), yaze::cli::OverworldValidateCommandHandler::Execute(), yaze::cli::RomCompareCommandHandler::Execute(), yaze::cli::RomDoctorCommandHandler::Execute(), yaze::cli::SpriteDoctorCommandHandler::Execute(), yaze::cli::TestRunCommandHandler::Execute(), yaze::cli::agent::tools::BuildConfigureCommandHandler::Execute(), yaze::cli::agent::tools::BuildCompileCommandHandler::Execute(), yaze::cli::agent::tools::BuildTestCommandHandler::Execute(), yaze::cli::agent::tools::FileSystemListTool::Execute(), yaze::cli::agent::tools::ProjectExportTool::Execute(), yaze::cli::agent::tools::RomDiffTool::Execute(), yaze::cli::agent::tools::ValidateAllTool::Execute(), and yaze::cli::resources::CommandHandler::Run().
| std::vector< std::string > yaze::cli::resources::ArgumentParser::GetPositional | ( | ) | const |
Get all remaining positional arguments.
Definition at line 213 of file command_context.cc.
References args_.
Referenced by yaze::cli::handlers::SimpleChatCommandHandler::Execute(), yaze::cli::HexDumpCommandHandler::Execute(), yaze::cli::HexCompareCommandHandler::Execute(), yaze::cli::HexAnnotateCommandHandler::Execute(), yaze::cli::HexDumpCommandHandler::ValidateArgs(), yaze::cli::HexCompareCommandHandler::ValidateArgs(), and yaze::cli::HexAnnotateCommandHandler::ValidateArgs().
| absl::Status yaze::cli::resources::ArgumentParser::RequireArgs | ( | const std::vector< std::string > & | required | ) | const |
Validate that required arguments are present.
Definition at line 227 of file command_context.cc.
References FindArgValue().
Referenced by yaze::cli::handlers::DialogueReadCommandHandler::ValidateArgs(), yaze::cli::handlers::DialogueSearchCommandHandler::ValidateArgs(), yaze::cli::handlers::DungeonListSpritesCommandHandler::ValidateArgs(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::ValidateArgs(), yaze::cli::handlers::DungeonExportRoomCommandHandler::ValidateArgs(), yaze::cli::handlers::DungeonListObjectsCommandHandler::ValidateArgs(), yaze::cli::handlers::DungeonGetRoomTilesCommandHandler::ValidateArgs(), yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler::ValidateArgs(), yaze::cli::handlers::MessageReadCommandHandler::ValidateArgs(), yaze::cli::handlers::MessageSearchCommandHandler::ValidateArgs(), yaze::cli::handlers::MusicInfoCommandHandler::ValidateArgs(), yaze::cli::handlers::OverworldFindTileCommandHandler::ValidateArgs(), yaze::cli::handlers::OverworldDescribeMapCommandHandler::ValidateArgs(), yaze::cli::handlers::OverworldGetEntranceCommandHandler::ValidateArgs(), yaze::cli::handlers::HexReadCommandHandler::ValidateArgs(), yaze::cli::handlers::HexWriteCommandHandler::ValidateArgs(), yaze::cli::handlers::HexSearchCommandHandler::ValidateArgs(), yaze::cli::handlers::PaletteGetColorsCommandHandler::ValidateArgs(), yaze::cli::handlers::PaletteSetColorCommandHandler::ValidateArgs(), yaze::cli::handlers::SpritePropertiesCommandHandler::ValidateArgs(), yaze::cli::handlers::SpritePaletteCommandHandler::ValidateArgs(), yaze::cli::handlers::ProjectInitCommandHandler::ValidateArgs(), yaze::cli::handlers::RomDiffCommandHandler::ValidateArgs(), yaze::cli::handlers::RomGenerateGoldenCommandHandler::ValidateArgs(), yaze::cli::handlers::EmulatorSetBreakpointCommandHandler::ValidateArgs(), yaze::cli::handlers::EmulatorClearBreakpointCommandHandler::ValidateArgs(), yaze::cli::handlers::EmulatorReadMemoryCommandHandler::ValidateArgs(), yaze::cli::handlers::EmulatorWriteMemoryCommandHandler::ValidateArgs(), yaze::cli::handlers::EmulatorPressButtonsCommandHandler::ValidateArgs(), yaze::cli::handlers::EmulatorReleaseButtonsCommandHandler::ValidateArgs(), yaze::cli::handlers::EmulatorHoldButtonsCommandHandler::ValidateArgs(), yaze::cli::handlers::GuiPlaceTileCommandHandler::ValidateArgs(), yaze::cli::handlers::GuiClickCommandHandler::ValidateArgs(), yaze::cli::handlers::ResourceListCommandHandler::ValidateArgs(), yaze::cli::handlers::ResourceSearchCommandHandler::ValidateArgs(), yaze::cli::handlers::ToolsHarnessStateCommandHandler::ValidateArgs(), yaze::cli::handlers::ToolsExtractValuesCommandHandler::ValidateArgs(), yaze::cli::handlers::ToolsExtractGoldenCommandHandler::ValidateArgs(), yaze::cli::handlers::ToolsPatchV3CommandHandler::ValidateArgs(), yaze::cli::agent::tools::CodeGenAsmHookTool::ValidateArgs(), yaze::cli::agent::tools::CodeGenFreespacePatchTool::ValidateArgs(), yaze::cli::agent::tools::CodeGenSpriteTemplateTool::ValidateArgs(), yaze::cli::agent::tools::CodeGenEventHandlerTool::ValidateArgs(), yaze::cli::agent::tools::FileSystemListTool::ValidateArgs(), yaze::cli::agent::tools::FileSystemReadTool::ValidateArgs(), yaze::cli::agent::tools::FileSystemExistsTool::ValidateArgs(), yaze::cli::agent::tools::FileSystemInfoTool::ValidateArgs(), yaze::cli::agent::tools::MemoryAnalyzeTool::ValidateArgs(), yaze::cli::agent::tools::MemorySearchTool::ValidateArgs(), yaze::cli::agent::tools::MemoryCompareTool::ValidateArgs(), yaze::cli::agent::tools::ProjectGraphTool::ValidateArgs(), yaze::cli::agent::tools::ProjectSnapshotTool::ValidateArgs(), yaze::cli::agent::tools::ProjectRestoreTool::ValidateArgs(), yaze::cli::agent::tools::ProjectExportTool::ValidateArgs(), yaze::cli::agent::tools::ProjectImportTool::ValidateArgs(), yaze::cli::agent::tools::ProjectDiffTool::ValidateArgs(), yaze::cli::agent::tools::RomDiffTool::ValidateArgs(), yaze::cli::agent::tools::RomChangesTool::ValidateArgs(), yaze::cli::agent::tools::RomValidateTool::ValidateArgs(), yaze::cli::agent::tools::DataValidateTool::ValidateArgs(), yaze::cli::agent::tools::PatchCheckTool::ValidateArgs(), and yaze::cli::agent::tools::TileSimilarityTool::ValidateArgs().

|
private |
Definition at line 127 of file command_context.cc.
References args_.
Referenced by GetHex(), GetInt(), GetString(), and RequireArgs().
|
private |
Definition at line 113 of file command_context.h.
Referenced by FindArgValue(), GetPositional(), and HasFlag().