1
0
mirror of https://github.com/CLIUtils/CLI11.git synced 2025-05-05 22:53:52 +00:00

Updates to readme

This commit is contained in:
Henry Fredrick Schreiner 2017-02-24 21:17:42 -05:00
parent afd7dce93a
commit 9a956f1d69

View File

@ -6,7 +6,7 @@
# CLI11: Command line parser for C++11
CLI11 provides all the features you expect in a powerful command line parser, with a beautiful, minimal syntax and no dependencies beyond C++11. It is header only, and comes in a single file form for easy inclusion in projects. It is easy to use for small projects, but powerful enough for complex command line projects, and can be customized for frameworks.
It is tested on [Travis with a suite of tests](https://travis-ci.org/henryiii/CLI11), and is being included in the [GooFit GPU fitting framework](https://GooFit.github.io). It was inspired by [`plumbum.cli`](http://plumbum.readthedocs.io/en/latest/) for Python. It has both a user friendly introduction here, as well as [API documentation](https://henryiii.github.io/CLI11/index.html) generated by Travis.
It is tested on [Travis](https://travis-ci.org/henryiii/CLI11) and [Appveyor](https://ci.appveyor.com/project/HenrySchreiner/cli11), and is being included in the [GooFit GPU fitting framework](https://GooFit.github.io). It was inspired by [`plumbum.cli`](http://plumbum.readthedocs.io/en/latest/) for Python. It has both a user friendly introduction here, as well as [API documentation](https://henryiii.github.io/CLI11/index.html) generated by Travis.
### Why write another CLI parser?
@ -37,15 +37,22 @@ So, this library was designed to provide a great syntax, good compiler compatibi
This library was built to supply the Application object for the GooFit CUDA/OMP fitting library. Before version 2.0 of GooFit is released, this library will reach version 1.0 status. The current tasks still planned are:
* Expand tests to include a few more features
* Collect user feedback
* Ini configuration support is basic (long options only, no vector support), is more needed?
* Evaluate compatibility with [ROOT](https://root.cern.ch)'s TApplication object.
* Document adding callback (maybe add C++14 only `add_switch` method?)
* Test "adding to cmake" method
See the [changelog](./CHANGELOG.md) or [GitHub releases](https://github.com/henryiii/CLI11/releases) for details.
## Things not supported by this library
As you probably have guessed, the list of features above are all covered by this library. There are some other features that are intentionally not supported by this library:
* Non-standard variations on syntax, like `-long` options. This is non-standard and should be avoided, so that is enforced by this library.
* Completion of partial options, such as Python's `argparse` supplies for incomplete arguments. It's better not to guess.
* In C++14, you could have a set of `callback` methods (tested in branch). Not deemed worth having a C++14 variation on API.
* Autocomplete: This might eventually be added to both Plumbum and CLI11, but it is not supported yet.
## Installing