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 77 of file command_context.h.
|
explicit |
Definition at line 123 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 148 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::handlers::ResourceListCommandHandler::Execute(), yaze::cli::handlers::ResourceSearchCommandHandler::Execute(), yaze::cli::resources::CommandHandler::Run(), yaze::cli::resources::TEST_F(), and yaze::cli::resources::TEST_F().
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 153 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::handlers::EmulatorReadMemoryCommandHandler::Execute(), yaze::cli::handlers::EmulatorHoldButtonsCommandHandler::Execute(), yaze::cli::resources::TEST_F(), and yaze::cli::resources::TEST_F().
absl::StatusOr< int > yaze::cli::resources::ArgumentParser::GetHex | ( | const std::string & | name | ) | const |
Parse a hex integer argument.
Definition at line 180 of file command_context.cc.
References FindArgValue().
Referenced by yaze::cli::resources::TEST_F().
bool yaze::cli::resources::ArgumentParser::HasFlag | ( | const std::string & | name | ) | const |
Check if a flag is present.
Definition at line 202 of file command_context.cc.
References args_.
Referenced by yaze::cli::handlers::SimpleChatCommandHandler::Execute(), yaze::cli::handlers::EmulatorGetStateCommandHandler::Execute(), yaze::cli::resources::CommandHandler::Run(), and yaze::cli::resources::TEST_F().
std::vector< std::string > yaze::cli::resources::ArgumentParser::GetPositional | ( | ) | const |
Get all remaining positional arguments.
Definition at line 212 of file command_context.cc.
References args_.
Referenced by yaze::cli::resources::TEST_F().
absl::Status yaze::cli::resources::ArgumentParser::RequireArgs | ( | const std::vector< std::string > & | required | ) | const |
Validate that required arguments are present.
Definition at line 226 of file command_context.cc.
References FindArgValue().
Referenced by yaze::cli::resources::TEST_F(), 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(), and yaze::cli::handlers::ResourceSearchCommandHandler::ValidateArgs().
|
private |
Definition at line 126 of file command_context.cc.
References args_.
Referenced by GetHex(), GetInt(), GetString(), and RequireArgs().
|
private |
Definition at line 112 of file command_context.h.
Referenced by FindArgValue(), GetPositional(), and HasFlag().