aboutsummaryrefslogtreecommitdiff
path: root/src/configuration/builtin.cpp
blob: a6ed0029b12be4128d0df3e2e56592d820705051 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/*
 * This file is part of smolbote. It's copyrighted by the contributors recorded
 * in the version control history of the file, available from its original
 * location: https://neueland.iserlohn-fortress.net/cgit/smolbote
 *
 * SPDX-License-Identifier: GPL-3.0
 */

#include "browser.h"
#include "configuration.h"
#include <QCommandLineParser>
#include <QCoreApplication>
#include <cstdlib>
#include <iostream>

namespace builtins
{
int sub_configuration(const QStringList &l, Browser &)
{
    const QCommandLineOption dump({ "d", "dump" }, "Print the currently used configuration and exit.");

    QCommandLineParser parser;
    parser.setApplicationDescription("configuration");
    parser.addHelpOption();
    parser.addOption(dump);

    if(l.count() <= 1) {
        parser.showHelp();
    }

    parser.process(l);

    if(parser.isSet(dump)) {
        Configuration conf;
        std::cout << conf << std::endl;
        return EXIT_SUCCESS;
    }

    return EXIT_FAILURE;
}
}