mirror of
https://github.com/TangentFoxy/argparse.git
synced 2025-07-28 11:02:20 +00:00
Improved help message formatting:
* Do not hardcode formatting constants * Add margin for multiline descriptions
This commit is contained in:
@@ -335,15 +335,28 @@ function Parser:get_usage()
|
|||||||
return self._usage
|
return self._usage
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local margin_len = 3
|
||||||
|
local margin_len2 = 25
|
||||||
|
local margin = (" "):rep(margin_len)
|
||||||
|
local margin2 = (" "):rep(margin_len2)
|
||||||
|
|
||||||
local function make_two_columns(s1, s2)
|
local function make_two_columns(s1, s2)
|
||||||
if s2 == "" then
|
if s2 == "" then
|
||||||
return " " .. s1
|
return margin .. s1
|
||||||
end
|
end
|
||||||
|
|
||||||
if #s1 < 22 then
|
s2 = s2:gsub("[\r\n][\r\n]?", function(sub)
|
||||||
return " " .. s1 .. (" "):rep(22 - #s1) .. s2
|
if #sub == 1 or sub == "\r\n" then
|
||||||
|
return "\r\n" .. margin2
|
||||||
|
else
|
||||||
|
return "\r\n\r\n" .. margin2
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
if #s1 < (margin_len2-margin_len) then
|
||||||
|
return margin .. s1 .. (" "):rep(margin_len2-margin_len-#s1) .. s2
|
||||||
else
|
else
|
||||||
return " " .. s1 .. "\r\n" .. (" "):rep(25) .. s2
|
return margin .. s1 .. "\r\n" .. margin2 .. s2
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user