yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::cli::resources::ArgumentParser Class Reference

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_
 

Detailed Description

Utility for parsing common CLI argument patterns.

Definition at line 77 of file command_context.h.

Constructor & Destructor Documentation

◆ ArgumentParser()

yaze::cli::resources::ArgumentParser::ArgumentParser ( const std::vector< std::string > &  args)
explicit

Definition at line 123 of file command_context.cc.

Member Function Documentation

◆ GetString()

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().

Here is the call graph for this function:

◆ GetInt()

◆ GetHex()

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().

Here is the call graph for this function:

◆ HasFlag()

bool yaze::cli::resources::ArgumentParser::HasFlag ( const std::string &  name) const

◆ GetPositional()

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().

◆ RequireArgs()

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().

Here is the call graph for this function:

◆ FindArgValue()

std::optional< std::string > yaze::cli::resources::ArgumentParser::FindArgValue ( const std::string &  name) const
private

Definition at line 126 of file command_context.cc.

References args_.

Referenced by GetHex(), GetInt(), GetString(), and RequireArgs().

Member Data Documentation

◆ args_

std::vector<std::string> yaze::cli::resources::ArgumentParser::args_
private

Definition at line 112 of file command_context.h.

Referenced by FindArgValue(), GetPositional(), and HasFlag().


The documentation for this class was generated from the following files: