Files
aux_cmd/main.cpp
2026-03-29 19:25:59 +08:00

53 lines
1.5 KiB
C++

#include <CLI11.hpp>
#include <consoleapi2.h>
#include <iostream>
#include "formater/fmt.json.h"
#include "util/axc.util.h"
#include <zoost/zoost.h>
int main(int argc, char* argv[])
{
zoostCommon::SetOutputU8();
if (!AxcUtil::initLogger("aux_cmd.log")) {
std::cerr << "Failed to init logger." << std::endl;
return 1;
}
// AxcUtil::getLogger()->info("Starting...");
// 中文测试。
CLI::App app("A simple command line tool");
argv = app.ensure_utf8(argv);
FormatterArg formatArg;
try {
auto jsonSub = app.add_subcommand("json", "Json Operator.");
jsonSub->add_option("-i,--indent", formatArg.indent, "Indent size for json format");
jsonSub->add_option("-f,--file", formatArg.file, "format file.")->required()->check(CLI::ExistingFile);
app.parse(argc, argv);
if (jsonSub->parsed()) {
JsonFormatter jf;
auto content = jf.format(formatArg.file, formatArg);
if (content.empty()) {
AxcUtil::getLogger()->error("Failed to format json file.");
return 1;
}
if (!jf.save(formatArg.file, content)) {
AxcUtil::getLogger()->error("Failed to save json file.");
return 1;
} else {
AxcUtil::getLogger()->info("Json file saved successfully.");
}
}
} catch (const CLI::ParseError& e) {
return app.exit(e);
}
std::cout << "Hello, world! This is ..." << std::endl;
return 0;
}