yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
cli.h
Go to the documentation of this file.
1#ifndef YAZE_CLI_CLI_H
2#define YAZE_CLI_CLI_H
3
4#include <cstdint>
5#include <iostream>
6#include <memory>
7#include <sstream>
8#include <string>
9#include <vector>
10
11#include "absl/status/status.h"
12#include "rom/rom.h"
13#include "rom/snes.h"
14#include "util/macro.h"
15
16namespace yaze {
17namespace cli {
18
19class ModernCLI {
20 public:
21 ModernCLI();
22 absl::Status Run(int argc, char* argv[]);
23 void PrintTopLevelHelp() const;
24 void PrintCategoryHelp(const std::string& category) const;
25 void PrintCommandSummary() const;
26
27 private:
28 void ShowHelp();
29 void ShowCategoryHelp(const std::string& category) const;
30 void ShowCommandSummary() const;
31
32 // Commands are now managed by CommandRegistry singleton (no member needed)
33};
34
35} // namespace cli
36} // namespace yaze
37
38#endif // YAZE_CLI_CLI_H
absl::Status Run(int argc, char *argv[])
Definition cli.cc:27
void PrintCategoryHelp(const std::string &category) const
Definition cli.cc:335
void PrintCommandSummary() const
Definition cli.cc:339
void ShowCategoryHelp(const std::string &category) const
Definition cli.cc:277
void ShowCommandSummary() const
Definition cli.cc:312
void PrintTopLevelHelp() const
Definition cli.cc:331