return true, nil
end
+--- align strings
+-- @param columns screen width
+-- @param align1 column to align string1to
+-- @param string1 first string
+-- @param align2 column to align string2 to
+-- @param string2 second string
+function e2lib.align(columns, align1, string1, align2, string2)
+ local lines = 1
+ if align2 + #string2 > columns then
+ -- try to move string2 to the left first
+ align2 = columns - #string2
+ end
+ if align1 + #string1 + #string2 > columns then
+ -- split into two lines
+ lines = 2
+ end
+ local s
+ if lines == 1 then
+ s = string.rep(" ", align1) .. string1 ..
+ string.rep(" ", align2 - #string1 - align1) .. string2
+ else
+ s = string.rep(" ", align1) .. string1 .. "\n" ..
+ string.rep(" ", align2) .. string2
+ end
+ return s
+end
+
--------------------------------------------------------------------------------
-- "seal" modules e2util and e2lib
local sbid = e2tool.bid_display(buildid)
local rc, re
local e = new_error("error while checking if result is available: %s", r)
+ local columns = tonumber(e2lib.osenv["COLUMNS"])
if res.playground then
- return_flags.message = string.format("building %-20s [%s] [playground]",
- r, sbid)
+ return_flags.message = e2lib.align(columns,
+ 0, string.format("building %-20s", r),
+ columns, string.format("[%s] [playground]", sbid))
return_flags.stop = false
return true, nil
end
if res.build_mode.source_set() == "working-copy" or
res.force_rebuild == true then
- return_flags.message = string.format("building %-20s [%s]", r, sbid)
+ return_flags.message = e2lib.align(columns,
+ 0, string.format("building %-20s", r),
+ columns, string.format("[%s]", sbid))
return_flags.stop = false
return true, nil
end
rc = e2lib.isfile(path)
if not rc then
-- result is not available. Build.
- return_flags.message = string.format("building %-20s [%s]", r, sbid)
+ return_flags.message = e2lib.align(columns,
+ 0, string.format("building %-20s", r),
+ columns, string.format("[%s]", sbid))
return_flags.stop = false
return true, nil
end
return false, e:cat(re)
end
-- return true
- return_flags.message = string.format("skipping %-20s [%s]", r, sbid)
+ return_flags.message = e2lib.align(columns,
+ 0, string.format("skipping %-20s", r),
+ columns, string.format("[%s]", sbid))
return_flags.stop = true
return true, nil
end