A simple to use, composable, command line parser for C++ 11 and beyond
Only bug fixes for compile warnings and a pair of bad argument names. Changes:
command::operator|=
function signature.
-- Henrik Gaßmann
Even though most of the changes for this release are to fix various reported bug fixes, fixing those bugs has meant dealing with some long standing internal parser inconsistencies. While I try to not break backwards compatibility, I likely can't catch all of the corner cases people have discovered.
WARNING: This release has some internal cleanup of the parser result types. It
also has an externally visible change to the parse
function result type. It
renames the errorMessage()
function to message()
. The errorMessage()
function is marked deprecated and will be removed in a future release.
Changes:
lyra::option_style
type to better customize the syntax of
options allowed. This replaces the "old" lyra::parser_customization
as a
better way. The lyra::parser_customization
is now deprecated, and will
be removed at some future release.
-- René Ferdinand Rivera Morell
-vvvv
.
-- René Ferdinand Rivera Morell
lyra::bound_parser
.
-- Max Ferger
parse
method.
-- René Ferdinand Rivera Morell
-
prefix.
-- René Ferdinand Rivera Morell
--flag=no
) being ignore. They now
cause an error when specified.
-- René Ferdinand Rivera Morell
Minor change to bring back the missing option argument hints from the usage help output.
This release has some big changes in easy of use and functionality. There are now alternate interfaces for specifying and fetching arguments. Also the help output is now more compact and clearer. There is also new support for sub-commands.
WARNING: The cli_parser
type was renamed to cli
. Both the cli_parser
type
and the lyra/cli_parser.hpp
header are deprecated and will be removed in a
future release.
WARNING: Changed the install CMake target from BFG::Lyra
to bfg::lyra
.
Changes:
cli
as a map from argument names to the value. -- René Ferdinand Rivera Morell
lyra::args
from iterators for cases where the arguments come from some existing container. -- René Ferdinand Rivera Morell
literal
parser to directly match an argument. -- René Ferdinand Rivera Morell
lyra::arg
, arguments. -- René Ferdinand Rivera Morell
Another round of small fixes and one new feature. Changes:
A few small new features, bug fixes, and continued cleanup on the road to reducing memory allocations. Changes this time around:
-o2
style option+value arguments. -- Rene Rivera
-abc
option name spelling as shorthand for -a
, -b
, -c
. -- Rene Rivera
Concentrated on new features. Many of them from old Clara requests. But also continued internal cleanup of code. The changes are:
required()
on such arguments. -- Rene Rivera
description
text to display as general command
information with the help::description
method. -- Rene Rivera
argparse
nomenclature. -- Rene Rivera
As mentioned above there is now a single header version of the library. It's included in the release archive as data/single_include/lyra/lyra.hpp
. You can also get it directly from here.
This is mostly a maintenance release. Which means fixing bugs, more documentation changes, and more tested compilers. Thanks to people for pointing out problems. And, thanks to Matt Godbolt's suggestion, there is one new feature:
choices()
as either a fixed set or checked
by a custom lambda function. -- Rene Rivera
args
outside of cli_parser
. Which
resulted in misleading parsing behavior. Rene Rivera
cardinality()
to correctly constrain bounded cardinality
ranges like [0,n]
, [n,m]
, [n,n]
, and [0,0]
(unbounded).
Rene Rivera
required()
arguments such that the parse errors if they are
absent. -- girstsf
assert
macro to avoid internal aborts and make it easier
to use as a library. -- Rene Rivera