From 1bc1ae8cd09851faa05345f5a6b105b02fe75dd2 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Thu, 19 Nov 2020 18:22:36 +0200 Subject: Drop args.hxx dependency Replace args.hxx with QCommandLineParser. --- src/cmd/test.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/cmd/test.cpp (limited to 'src/cmd/test.cpp') diff --git a/src/cmd/test.cpp b/src/cmd/test.cpp new file mode 100644 index 0000000..fc102ff --- /dev/null +++ b/src/cmd/test.cpp @@ -0,0 +1,41 @@ +#include "cmd.hpp" +#include + +int sub_bookmarks(const QStringList &l, QCoreApplication &) +{ + const QCommandLineOption q("q", "something"); + QCommandLineParser parser; + parser.setApplicationDescription("testing bookmarks editor"); + parser.addHelpOption(); + parser.addOption(q); + + if(l.count() <= 1) { + parser.showHelp(); + } + parser.process(l); + return 0; +} + +int sub_list(const QStringList &args, QCoreApplication &) +{ + for(const auto &x : args) { + qDebug("-%s", qUtf8Printable(x)); + } + return 0; +} + +int main(int argc, char **argv) +{ + QCoreApplication app(argc, argv); + app.setApplicationName("cmd_test"); + app.setApplicationVersion("0.1.0"); + + const command_line::map m{ + { "bookmarks", &sub_bookmarks }, + { "list", &sub_list } + }; + + const auto f = command_line::process(app, m, "list"); + return f(app); +} + -- cgit v1.2.1