diff options
Diffstat (limited to 'bdep/release-parsers.cxx')
-rw-r--r-- | bdep/release-parsers.cxx | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/bdep/release-parsers.cxx b/bdep/release-parsers.cxx new file mode 100644 index 0000000..5ad8cd7 --- /dev/null +++ b/bdep/release-parsers.cxx @@ -0,0 +1,31 @@ +// file : bdep/release-parsers.cxx -*- C++ -*- +// copyright : Copyright (c) 2014-2019 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#include <bdep/release-parsers.hxx> + +#include <bdep/release-options.hxx> // bdep::cli namespace + +namespace bdep +{ + namespace cli + { + void parser<cmd_release_current_tag>:: + parse (cmd_release_current_tag& r, bool& xs, scanner& s) + { + const char* o (s.next ()); + + if (!s.more ()) + throw missing_value (o); + + string v (s.next ()); + + if (v == "keep") r = cmd_release_current_tag::keep; + else if (v == "update") r = cmd_release_current_tag::update; + else if (v == "remove") r = cmd_release_current_tag::remove; + else throw invalid_value (o, v); + + xs = true; + } + } +} |