summaryrefslogtreecommitdiff
path: root/xmake/scripts/base/utils.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2015-05-14 14:38:30 +0800
committerruki <[email protected]>2015-05-14 14:38:30 +0800
commitb303b16817e3773c729f2cd1096d685b491db75b (patch)
treee1782f1bfe8e873554ce2818a3008726e2e030e6 /xmake/scripts/base/utils.lua
parent914fd0881e2242f01b497650dd09432316aa48d3 (diff)
register configure and impl project.lua
Diffstat (limited to 'xmake/scripts/base/utils.lua')
-rw-r--r--xmake/scripts/base/utils.lua41
1 files changed, 25 insertions, 16 deletions
diff --git a/xmake/scripts/base/utils.lua b/xmake/scripts/base/utils.lua
index f6af24e9b..c3b4cc38b 100644
--- a/xmake/scripts/base/utils.lua
+++ b/xmake/scripts/base/utils.lua
@@ -51,7 +51,7 @@ function utils.ifelse(a, b, c)
end
-- dump object with the level
-function utils._dump_with_level(object, level)
+function utils._dump_with_level(object, exclude, level)
-- check
assert(object)
@@ -79,22 +79,31 @@ function utils._dump_with_level(object, level)
local i = 0
for k, v in pairs(object) do
- -- dump spaces
- for l = 1, level do
- io.write(" ")
- end
+ -- exclude some keys
+ if not exclude or type(k) ~= "string" or not k:find(exclude) then
- -- dump separator
- io.write(utils.ifelse(i == 0, " ", ", "), k, " = ")
+ -- dump spaces
+ for l = 1, level do
+ io.write(" ")
+ end
- -- dump this key: value
- if not utils._dump_with_level(v, level + 1) then
- return false
- end
+ -- dump separator
+ io.write(utils.ifelse(i == 0, " ", ", "))
+
+ -- dump key
+ if type(k) == "string" then
+ io.write(k, " = ")
+ end
- -- dump newline
- io.write("\n")
- i = i + 1
+ -- dump value
+ if not utils._dump_with_level(v, exclude, level + 1) then
+ return false
+ end
+
+ -- dump newline
+ io.write("\n")
+ i = i + 1
+ end
end
-- dump tail
@@ -113,7 +122,7 @@ function utils._dump_with_level(object, level)
end
-- dump object
-function utils.dump(object, prefix)
+function utils.dump(object, prefix, exclude)
-- dump prefix
if prefix and type(prefix) == "string" then
@@ -121,7 +130,7 @@ function utils.dump(object, prefix)
end
-- dump it
- utils._dump_with_level(object, 0)
+ utils._dump_with_level(object, exclude, 0)
-- return it
return object