From f74db88b5fcf7eef87f1e6d566c2a0585cf7df33 Mon Sep 17 00:00:00 2001 From: mpeterv Date: Wed, 19 Feb 2014 16:46:30 +0400 Subject: [PATCH] Return :error() method --- src/argparse.lua | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/argparse.lua b/src/argparse.lua index c1a49da..8dd8eaf 100644 --- a/src/argparse.lua +++ b/src/argparse.lua @@ -760,15 +760,17 @@ function Parser:_parse(args, errhandler) return result end +function Parser:error(msg) + if _TEST then + error(msg) + else + io.stderr:write(("%s\r\n\r\nError: %s\r\n"):format(self:get_usage(), msg)) + os.exit(1) + end +end + function Parser:parse(args) - return self:_parse(args, function(parser, msg) - if _TEST then - error(msg) - else - io.stderr:write(("%s\r\n\r\nError: %s\r\n"):format(parser:get_usage(), msg)) - os.exit(1) - end - end) + return self:_parse(args, Parser.error) end function Parser:pparse(args)