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 "app/rom.h"
13#include "app/snes.h"
14#include "util/macro.h"
15
16// Forward declarations
17namespace ftxui {
18class ScreenInteractive;
19}
20
21namespace yaze {
22namespace cli {
23
24// Forward declaration
25class TuiComponent;
26
27class ModernCLI {
28 public:
29 ModernCLI();
30 absl::Status Run(int argc, char* argv[]);
31 void PrintTopLevelHelp() const;
32 void PrintCategoryHelp(const std::string& category) const;
33 void PrintCommandSummary() const;
34
35 private:
36 void ShowHelp();
37 void ShowCategoryHelp(const std::string& category) const;
38 void ShowCommandSummary() const;
39
40 // Commands are now managed by CommandRegistry singleton (no member needed)
41};
42
43} // namespace cli
44} // namespace yaze
45
46#endif // YAZE_CLI_CLI_H
absl::Status Run(int argc, char *argv[])
Definition cli.cc:23
void PrintCategoryHelp(const std::string &category) const
Definition cli.cc:216
void PrintCommandSummary() const
Definition cli.cc:220
void ShowCategoryHelp(const std::string &category) const
Definition cli.cc:130
void ShowCommandSummary() const
Definition cli.cc:171
void PrintTopLevelHelp() const
Definition cli.cc:212
void ShowHelp()
Definition cli.cc:77
Definition cli.h:17
Main namespace for the application.
Definition controller.cc:20