From cccb07c7cd4faeb391547200bf3143d58f9c15ab Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Thu, 23 Jan 2014 19:36:07 +0000 Subject: Catch parameter errors on startup and display option informations --- src/parameters_parser.hh | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/parameters_parser.hh') diff --git a/src/parameters_parser.hh b/src/parameters_parser.hh index 2f7e5477..2230e3f2 100644 --- a/src/parameters_parser.hh +++ b/src/parameters_parser.hh @@ -12,21 +12,26 @@ namespace Kakoune using ParameterList = memoryview; -struct unknown_option : public runtime_error +struct parameter_error : public runtime_error +{ + using runtime_error::runtime_error; +}; + +struct unknown_option : public parameter_error { unknown_option(const String& name) - : runtime_error("unknown option '" + name + "'") {} + : parameter_error("unknown option '" + name + "'") {} }; -struct missing_option_value: public runtime_error +struct missing_option_value: public parameter_error { missing_option_value(const String& name) - : runtime_error("missing value for option '" + name + "'") {} + : parameter_error("missing value for option '" + name + "'") {} }; -struct wrong_argument_count : runtime_error +struct wrong_argument_count : public parameter_error { - wrong_argument_count() : runtime_error("wrong argument count") {} + wrong_argument_count() : parameter_error("wrong argument count") {} }; using OptionMap = std::unordered_map; -- cgit v1.2.3