diff options
author | Taylor C. Richberger <taywee@gmx.com> | 2017-12-25 22:49:30 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-25 22:49:30 -0700 |
commit | 365c0cad14aa194dfa5cf68caca3cc20c7d39076 (patch) | |
tree | 5391d4b0e55b25d4c909ff4e816dcb742132cf2f /examples/completion.cxx | |
parent | replace explicit std::vector ParseCLI with template, reduce optimization (diff) | |
parent | add more test cases (diff) | |
download | args.hxx-365c0cad14aa194dfa5cf68caca3cc20c7d39076.tar.xz |
Merge pull request #56 from pavel-belikov/bash-completion
Bash completion
Diffstat (limited to 'examples/completion.cxx')
-rw-r--r-- | examples/completion.cxx | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/examples/completion.cxx b/examples/completion.cxx new file mode 100644 index 0000000..3122c30 --- /dev/null +++ b/examples/completion.cxx @@ -0,0 +1,27 @@ +/* Copyright © 2016-2017 Taylor C. Richberger <taywee@gmx.com> and Pavel Belikov + * This code is released under the license described in the LICENSE file + */ + +#include "args.hxx" +#include <iostream> + +int main(int argc, const char **argv) +{ + args::ArgumentParser p("parser"); + args::CompletionFlag c(p, {"complete"}); + args::ValueFlag<std::string> f(p, "name", "description", {'f', "foo"}, "abc"); + args::ValueFlag<std::string> b(p, "name", "description", {'b', "bar"}, "abc"); + args::MapFlag<std::string, int> m(p, "mappos", "mappos", {'m', "map"}, {{"1",1}, {"2", 2}}); + args::Positional<std::string> pos(p, "name", "desc"); + + try + { + p.ParseCLI(argc, argv); + } + catch (args::Completion &e) + { + std::cout << e.what(); + } + + return 0; +} |