aboutsummaryrefslogtreecommitdiff
path: root/examples/completion.cxx
diff options
context:
space:
mode:
authorTaylor C. Richberger <taywee@gmx.com>2017-12-25 22:49:30 -0700
committerGitHub <noreply@github.com>2017-12-25 22:49:30 -0700
commit365c0cad14aa194dfa5cf68caca3cc20c7d39076 (patch)
tree5391d4b0e55b25d4c909ff4e816dcb742132cf2f /examples/completion.cxx
parentreplace explicit std::vector ParseCLI with template, reduce optimization (diff)
parentadd more test cases (diff)
downloadargs.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.cxx27
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;
+}