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
17#include <map>
18#include <memory>
19
20// Forward declarations
21namespace ftxui {
22class ScreenInteractive;
23}
24
25namespace yaze {
26namespace cli {
27
28// Forward declaration
29class TuiComponent;
30
31class ModernCLI {
32 public:
33 ModernCLI();
34 absl::Status Run(int argc, char* argv[]);
35 void PrintTopLevelHelp() const;
36 void PrintCategoryHelp(const std::string& category) const;
37 void PrintCommandSummary() const;
38
39 private:
40 void SetupCommands();
41 void ShowHelp();
42 void ShowCategoryHelp(const std::string& category) const;
43 void ShowCommandSummary() const;
44
45 std::map<std::string, std::unique_ptr<resources::CommandHandler>> commands_;
46};
47
48} // namespace cli
49} // namespace yaze
50
51#endif // YAZE_CLI_CLI_H
absl::Status Run(int argc, char *argv[])
Definition cli.cc:24
void PrintCategoryHelp(const std::string &category) const
Definition cli.cc:164
void PrintCommandSummary() const
Definition cli.cc:168
void ShowCategoryHelp(const std::string &category) const
Definition cli.cc:98
void ShowCommandSummary() const
Definition cli.cc:132
void SetupCommands()
Definition cli.cc:17
std::map< std::string, std::unique_ptr< resources::CommandHandler > > commands_
Definition cli.h:45
void PrintTopLevelHelp() const
Definition cli.cc:160
void ShowHelp()
Definition cli.cc:68
Definition cli.h:21
Main namespace for the application.