Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2021-08-09 | Fix doc/buildfileadhoc-recipe | Karen Arutyunov | 1 | -2/+2 | |
2021-08-09 | Review | Boris Kolpackov | 3 | -32/+27 | |
2021-08-09 | Use ad hoc recipe for parsing code and documentation generating | Karen Arutyunov | 7 | -126/+185 | |
2021-08-03 | Add support for tracking argument/option position | Boris Kolpackov | 3 | -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-22 | Change manifest builds value from all to host | Boris Kolpackov | 1 | -1/+1 | |
2021-02-24 | Various cleanups | Karen Arutyunov | 4 | -10/+3 | |
2021-02-24 | Adapt to cutl/ to libcutl/ rename | Karen Arutyunov | 13 | -20/+20 | |
2020-12-08 | Regenerate options parsing code | Karen Arutyunov | 2 | -139/+155 | |
2020-12-08 | Complete options file path using referencing file path as base | Karen Arutyunov | 1 | -2/+17 | |
2020-10-05 | Add missing spaces in generated code | Karen Arutyunov | 1 | -2/+2 | |
2020-09-12 | Fix generated set and map parsers so that comparison predicate can also be ↵ | Karen Arutyunov | 1 | -13/+13 | |
specified | |||||
2020-08-01 | Use legal{} target type for legal documentation (LICENSE, AUTHORS, etc) | Karen Arutyunov | 1 | -1/+1 | |
2020-08-01 | Disable success build emails | Karen Arutyunov | 1 | -1/+1 | |
2020-07-21 | Bump build2 version requirement to 0.13.0 | Boris Kolpackov | 1 | -2/+2 | |
2020-07-21 | Change version to 1.2.0-b.7.z | Boris Kolpackov | 1 | -1/+1 | |
2020-07-18 | Release version 1.2.0-b.7v1.2.0-b.7 | Boris Kolpackov | 1 | -1/+1 | |
2020-06-19 | Fix misleading indentation | Boris Kolpackov | 1 | -2/+2 | |
2020-06-09 | Add name to metadata for cli executable | Boris Kolpackov | 2 | -0/+2 | |
2020-06-09 | Add metadata variable prefix for cli executable | Karen Arutyunov | 2 | -2/+2 | |
2020-05-28 | Get rid of trailing spaces in generated code | Boris Kolpackov | 3 | -90/+98 | |
2020-04-29 | Add --suppress-undocumented for usage and regenerate | Boris Kolpackov | 2 | -3/+1 | |
2020-04-27 | Update metadata protocol | Boris Kolpackov | 7 | -15/+49 | |
2020-04-27 | Separate tests and examples into individual packages | Karen Arutyunov | 97 | -52/+3031 | |
Also make cli module to be explicitly enabled via the config.cli configuration variable. | |||||
2020-04-21 | Add metadata | Boris Kolpackov | 7 | -6/+67 | |
2020-03-27 | Regenerate options parsing code | Boris Kolpackov | 2 | -6/+55 | |
2020-03-27 | Add peek_file() and peek_line() functions to argv_file_scanner | Karen Arutyunov | 2 | -7/+55 | |
2020-02-13 | Use copyright extracted from LICENSE file for printing utility version | Karen Arutyunov | 2 | -1/+11 | |
2020-02-13 | Drop copyright notice from source code | Karen Arutyunov | 66 | -66/+0 | |
2019-08-14 | Fix merge() function generated for map parser | Karen Arutyunov | 1 | -1/+4 | |
2019-07-27 | Add support for direct file loading with argv_file_scanner | Boris Kolpackov | 6 | -2/+86 | |
2019-07-27 | Add support for option merging (--generate-merge) | Boris Kolpackov | 11 | -162/+337 | |
2019-05-24 | Adapt version.hxx.in to increasing standard version major, minor, and patch ↵ | Karen Arutyunov | 1 | -15/+14 | |
max values up to 99999 | |||||
2019-04-04 | Remove redundant space in option description | Karen Arutyunov | 1 | -1/+1 | |
2019-04-02 | Handle combined option values in argv_file_scanner | Boris Kolpackov | 3 | -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-05 | Align with latest bdep-new | Karen Arutyunov | 1 | -11/+14 | |
2019-01-16 | Update copyright year | Karen Arutyunov | 66 | -67/+67 | |
2018-11-20 | Escape more line-leading characters in man output | Boris Kolpackov | 1 | -3/+12 | |
Failed that, groff will treat them as macros/special. | |||||
2018-09-10 | Replace libu with libue in buildfiles | Karen Arutyunov | 1 | -4/+4 | |
2018-09-03 | Recognize \\ escape sequence in pre-formatted fragments | Boris Kolpackov | 1 | -13/+32 | |
Without this there were no way to correctly represent this sequence: \ \\\" \ | |||||
2018-08-02 | Allow lists inside notes for HTML output | Boris Kolpackov | 1 | -1/+5 | |
2018-07-07 | Add optional message to invalid_option exception | Boris Kolpackov | 6 | -7/+40 | |
2018-05-23 | Update for use with bdep | Boris Kolpackov | 1 | -0/+5 | |
2018-05-23 | Fix ubsan errors | Boris Kolpackov | 1 | -4/+17 | |
2018-05-21 | Update copyright year | Karen Arutyunov | 66 | -67/+67 | |
2018-05-19 | Get rid of doc{version} and types for testscript and manifest in buildfiles | Karen Arutyunov | 1 | -1/+1 | |
2018-04-16 | Add support for note formatting in plain text output | Boris Kolpackov | 4 | -23/+61 | |
2018-04-12 | Change "inline block" term to "span" not to confuse with "block block" | Boris Kolpackov | 1 | -108/+108 | |
2018-04-12 | Add support for note block and span | Boris Kolpackov | 1 | -5/+87 | |
For example: \N|This is a block note. It may consist of multiple paragraphs.| And this is \N{an inline note} that is inside a paragraph. Notes are currently only support for the html output. | |||||
2018-04-01 | Implement combined flags (-xyz vs -x -y -z) and values (--foo=bar) support | Boris Kolpackov | 6 | -61/+414 | |
Both are enabled by default but can be disable with --no-combined-flags and --no-combined-values options. | |||||
2018-03-24 | Return bool from parse() indicating whether anything has been parsed | Boris Kolpackov | 4 | -20/+51 | |