diff options
Diffstat (limited to 'src/builtins.cpp')
-rw-r--r-- | src/builtins.cpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/builtins.cpp b/src/builtins.cpp new file mode 100644 index 0000000..242a09f --- /dev/null +++ b/src/builtins.cpp @@ -0,0 +1,58 @@ +/* + * 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/gitea/aqua/smolbote + * + * SPDX-License-Identifier: GPL-3.0 + */ + +#include "builtins.h" +#include <QObject> +#include <QVersionNumber> +#include <iostream> +#include <version.h> + +inline std::string tr(const char *text) +{ + return QObject::tr(text).toStdString(); +} + +int builtins::version() +{ + const auto version = QVersionNumber::fromString(QLatin1String(poi_Version)).toString().toStdString(); + std::cout << tr("smolbote ") << version << std::endl; + return 0; +} + +int builtins::build() +{ + std::cout << poi_Version << std::endl; + return 0; +} + +int builtins::help(const char *cmd, + boost::program_options::options_description cmd_opts, + boost::program_options::options_description config_opts, + CommandHash_t pluginCommands) +{ + const auto version = QVersionNumber::fromString(QLatin1String(poi_Version)).toString().toStdString(); + std::cout << tr("smolbote ") << version << tr(": yet another no-frills browser\n"); + std::cout << tr("Usage: ") << cmd << tr(" [options] [command/URL(s)]\n\n"); + + std::cout << tr("Command-line Options:\n") << cmd_opts << '\n'; + + std::cout << tr("Commands: \n"); + for(auto it = pluginCommands.constBegin(); it != pluginCommands.constEnd(); ++it) + std::cout << " " << it.key().toStdString() << '\n'; + std::cout << '\n'; + + std::cout << tr("Configuration Options:\n") << config_opts << '\n'; + +#ifdef Q_OS_UNIX + std::cout << tr("For more information on usage, refer to the manual page smolbote.7\n"); + std::cout << tr("For more information on configuration, refer to the manual page smolbote.5\n"); +#endif + + std::cout << std::endl; + return 0; +} |