From d9fc8728caef43cbea1db09bff64cf67a79cccde Mon Sep 17 00:00:00 2001 From: mpeterv Date: Thu, 20 Feb 2014 12:52:24 +0400 Subject: [PATCH] Mark entire option as optional if there is default value --- spec/usage_spec.lua | 11 +++++++---- src/argparse.lua | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/spec/usage_spec.lua b/spec/usage_spec.lua index 9f48da2..90626cc 100644 --- a/spec/usage_spec.lua +++ b/spec/usage_spec.lua @@ -43,13 +43,16 @@ describe("tests related to usage message generation", function() it("creates correct usage message for elements with default value", function() local parser = Parser "foo" :add_help(false) - parser:argument "output" - :default "a.out" - parser:option "--from" "-f" + parser:argument "input" + :default "a.in" + parser:option "-f" "--from" :default "there" + parser:option "-o" "--output" + :default "a.out" + :count(1) assert.equal( - [=[Usage: foo [--from []] []]=], + [=[Usage: foo [-f []] [-o []] []]=], parser:prepare():get_usage() ) end) diff --git a/src/argparse.lua b/src/argparse.lua index d649a19..30a6c98 100644 --- a/src/argparse.lua +++ b/src/argparse.lua @@ -212,7 +212,7 @@ function Option:get_usage() table.insert(self._usage, 1, self._name) self._usage = table.concat(self._usage, " ") - if self._mincount == 0 then + if self._mincount == 0 or self._default then self._usage = "[" .. self._usage .. "]" end end