summaryrefslogtreecommitdiff
path: root/cli
AgeCommit message (Collapse)AuthorFilesLines
2022-07-26Release version 1.2.0-b.9v1.2.0-b.9Boris Kolpackov1-1/+1
2022-06-30Add support for using bool with std::vector, std::set, and std::mapKaren Arutyunov4-48/+109
2022-06-29Bump minimum build2 version requirementBoris Kolpackov1-2/+2
2022-06-28Don't read LICENSE and load module in root.build files in skeleton modeKaren Arutyunov1-3/+4
2022-02-18Add --export-symbol optionKaren Arutyunov10-23/+125
2022-02-18Update copyrightKaren Arutyunov2-4/+4
2021-11-23Update generated documentationBoris Kolpackov2-2/+2
2021-11-19Fortify tests against NDEBUGKaren Arutyunov2-0/+6
2021-11-09Add --ascii-tree for translating UTF-8 tree(1) output to ASCIIBoris Kolpackov14-6/+197
2021-10-20Change version to 1.2.0-b.8.zBoris Kolpackov1-1/+1
2021-10-16Release version 1.2.0-b.8+1v1.2.0-b.8+1Boris Kolpackov3-3/+3
Update pre-generated documentation.
2021-10-16Release version 1.2.0-b.8v1.2.0-b.8Boris Kolpackov1-1/+1
2021-10-14Fix installation of tests subprojectBoris Kolpackov1-1/+2
2021-10-05Remove leftover `date` invocation in ad hoc recipeBoris Kolpackov1-2/+0
2021-09-28Move runtime tests from cli-tests/ to cli/tests/Boris Kolpackov11-0/+437
2021-09-20Use ad hoc recipe for parsing code and documentation generatingKaren Arutyunov18-198/+1346
The overall approach is to store pre-generated bootstrap options.?xx and cli.{1,xhtml} and automatically update them in the development build (config.cli.develop=true). See README.md in the root of the repository for details.
2021-09-10Add multi-argument grouping support in group_scannerBoris Kolpackov4-58/+138
2021-08-03Add support for tracking argument/option positionBoris Kolpackov3-42/+175
The scanner interface now provides the position() function that returns a monotonically-increasing number which, if stored, can later be used to determine the relative position of the arguments. There is also now a parser implementation for std::pair<T, std::size_t> which parses the value T into the first half of the pair and stores the option position in the second half. Together, this can be used to establish the relative position of different options, for example: class options { std::vector<std::pair<std::uint64_t, std::size>> --config-id; std::vector<std::pair<std::string, std::size>> --config-name; }; cli::argv_scanner scan (argc, argv); options ops (scan); // Iterate over --config-id and --config-name options in the order // specified by the user. // auto ii (ops.config_id ().begin ()); auto ni (ops.config_name ().begin ()); for (size_t i (0), n (scan.position ()); i != n; ++i) { if (ii != ops.config_id ().end () && ii->second == i) { // Handle *ii. ++ii; } if (ni != ops.config_name ().end () && ni->second == i) { // Handle *ni. ++ni; } }
2021-07-22Change manifest builds value from all to hostBoris Kolpackov1-1/+1
2021-02-24Various cleanupsKaren Arutyunov4-10/+3
2021-02-24Adapt to cutl/ to libcutl/ renameKaren Arutyunov13-20/+20
2020-12-08Regenerate options parsing codeKaren Arutyunov2-139/+155
2020-12-08Complete options file path using referencing file path as baseKaren Arutyunov1-2/+17
2020-10-05Add missing spaces in generated codeKaren Arutyunov1-2/+2
2020-09-12Fix generated set and map parsers so that comparison predicate can also be ↵Karen Arutyunov1-13/+13
specified
2020-08-01Use legal{} target type for legal documentation (LICENSE, AUTHORS, etc)Karen Arutyunov1-1/+1
2020-08-01Disable success build emailsKaren Arutyunov1-1/+1
2020-07-21Bump build2 version requirement to 0.13.0Boris Kolpackov1-2/+2
2020-07-21Change version to 1.2.0-b.7.zBoris Kolpackov1-1/+1
2020-07-18Release version 1.2.0-b.7v1.2.0-b.7Boris Kolpackov1-1/+1
2020-06-19Fix misleading indentationBoris Kolpackov1-2/+2
2020-06-09Add name to metadata for cli executableBoris Kolpackov2-0/+2
2020-06-09Add metadata variable prefix for cli executableKaren Arutyunov2-2/+2
2020-05-28Get rid of trailing spaces in generated codeBoris Kolpackov3-90/+98
2020-04-29Add --suppress-undocumented for usage and regenerateBoris Kolpackov2-3/+1
2020-04-27Update metadata protocolBoris Kolpackov7-15/+49
2020-04-27Separate tests and examples into individual packagesKaren Arutyunov97-52/+3031
Also make cli module to be explicitly enabled via the config.cli configuration variable.
2020-04-21Add metadataBoris Kolpackov7-6/+67
2020-03-27Regenerate options parsing codeBoris Kolpackov2-6/+55
2020-03-27Add peek_file() and peek_line() functions to argv_file_scannerKaren Arutyunov2-7/+55
2020-02-13Use copyright extracted from LICENSE file for printing utility versionKaren Arutyunov2-1/+11
2020-02-13Drop copyright notice from source codeKaren Arutyunov66-66/+0
2019-08-14Fix merge() function generated for map parserKaren Arutyunov1-1/+4
2019-07-27Add support for direct file loading with argv_file_scannerBoris Kolpackov6-2/+86
2019-07-27Add support for option merging (--generate-merge)Boris Kolpackov11-162/+337
2019-05-24Adapt version.hxx.in to increasing standard version major, minor, and patch ↵Karen Arutyunov1-15/+14
max values up to 99999
2019-04-04Remove redundant space in option descriptionKaren Arutyunov1-1/+1
2019-04-02Handle combined option values in argv_file_scannerBoris Kolpackov3-92/+140
Turns out we cannot just pass them along as combined because of quoting. While at it, also add support for quoting non-option arguments.
2019-03-05Align with latest bdep-newKaren Arutyunov1-11/+14
2019-01-16Update copyright yearKaren Arutyunov66-67/+67