27 virtual void setup(CLI::App&, std::shared_ptr<CLI::Formatter>) = 0;
38 int Run(std::string
path, std::string
root,
bool debug =
false,
int dapPort = 0,
39 int mcpPort = 0, std::string devServer =
"");
42 int Build(std::string
path, std::string
output, std::string platform,
43 std::string sdkRoot =
"",
bool debug =
false);
46 int Package(std::string
path, std::string
output, std::string sdk);
49 int Test(std::string
path);
52 int McpHost(std::string
path,
int port);
55 int LanguageServer(std::string
path);
58 int Zip(std::string
path);
61 int DevServer(std::string
path,
int port = 8765);
64 int Get(std::string url);
67 int Clean(std::string
path);
70 int Doc(std::string
name,
bool noOpen =
false);
73 int Create(std::string
path, std::string
name);
76 int runArgs(
unsigned argcIn,
char** argvIn);
80 return (argv && i < argc && argv[i]) ? argv[i] : std::string{};
86 static std::string get_remaining(CLI::App* sub, std::string default_path =
".");
96 static std::vector<std::function<
Handler*()>>& handers();
101#define CMD_REG(name) \
102 static eve::cmd::Handler* name##_create() { return new name(); } \
103 Register name##_cmd_reg(name##_create)
#define EVENGINE_API_FOUNDATION
每个链接组(link group)各自的导出宏。
EVENGINE_API_FOUNDATION public API.
命令行模块(eve.cmd):run / build / package / test / zip / dev-server 等子命令入口。
unsigned getArgc()
Returns the argc.
std::string getArgv(unsigned i)
第 i 个原始 argv(physfs 文件系统用)。
static void registerCmd(std::function< Handler *()> handler)
Registers cmd.
One eve <subcommand> handler: CLI setup + argument parsing.
virtual ~Handler()
Releases Handler resources.
virtual void setup(CLI::App &, std::shared_ptr< CLI::Formatter >)=0
Registers options on the CLI11 sub-app.
virtual int parse(CLI::App &, Cmdline &)=0
Parses arguments and runs the command; returns the exit code.
Register(std::function< Handler *()> handler)
Constructs a Register.