/* This file is part of epubgrep. * Copyright © 2021 tastytea * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, version 3. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ #include "options.hpp" #include "version.hpp" #include #include #include #include #include namespace epubgrep { namespace po = boost::program_options; using boost::locale::translate; using std::cout; po::variables_map parse_options(int argc, char *argv[]) { po::options_description desc(translate("Available options")); // clang-format off desc.add_options() ("help", translate("Display this help and exit").str().data()) ("version", translate("Display version information and exit").str().data()) ("extended-regexp", translate("PATTERNS are extended regular expressions").str().data()) ("perl-regexp", translate("PATTERNS are Perl regular expressions").str().data()) ("ignore-case", translate("Ignore case distinctions in patterns and data") .str().data()) ; // clang-format on po::variables_map vm; po::store(po::parse_command_line(argc, argv, desc), vm); po::notify(vm); if (vm.count("help") != 0) { cout << translate("Usage: epubgrep [OPTION]… PATTERNS [FILE]…\n"); cout << desc; } else if (vm.count("version") != 0) { cout << "epubgrep " << epubgrep::version << '\n'; cout << translate( "Copyright © 2021 tastytea \n" "License AGPL-3.0-only .\n" "This program comes with ABSOLUTELY NO WARRANTY. This is " "free software,\n" "and you are welcome to redistribute it under certain " "conditions.\n"); } return vm; } } // namespace epubgrep