diff options
author | reed <reed@chromium.org> | 2014-10-25 20:44:40 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-25 20:44:40 -0700 |
commit | 86217d831d70949f9dde6a60f821d3f357558bdf (patch) | |
tree | 33e28ac94a92ded22ea5c58d3dab1419127d3ba5 /resources/slides_utils.lua | |
parent | 59b3815eaa76ee7116f9f07b4ef6c924eb10cadb (diff) |
add saveLayer to lua
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/679903002
Diffstat (limited to 'resources/slides_utils.lua')
-rw-r--r-- | resources/slides_utils.lua | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/resources/slides_utils.lua b/resources/slides_utils.lua new file mode 100644 index 0000000000..29c0c7176c --- /dev/null +++ b/resources/slides_utils.lua @@ -0,0 +1,75 @@ +function tostr(t) + local str = "" + for k, v in next, t do + if #str > 0 then + str = str .. ", " + end + if type(k) == "number" then + str = str .. "[" .. k .. "] = " + else + str = str .. tostring(k) .. " = " + end + if type(v) == "table" then + str = str .. "{ " .. tostr(v) .. " }" + elseif type(v) == "string" then + str = str .. '"' .. v .. '"' + else + str = str .. tostring(v) + end + end + return str +end + +function trim_ws(s) + return s:match("^%s*(.*)") +end + +function count_hypens(s) + local leftover = s:match("^-*(.*)") + return string.len(s) - string.len(leftover) +end + +function parse_file(file) + local slides = {} + local block = {} + + for line in file:lines() do + local s = trim_ws(line) + if #s == 0 then -- done with a block + if #block > 0 then + slides[#slides + 1] = block + block = {} + end + else + local n = count_hypens(s) + block[#block + 1] = { + indent = n, + text = trim_ws(s:sub(n + 1, -1)) + } + end + end + return slides +end + +function pretty_print_slide(slide) + io.write("{\n") + for i = 1, #slide do + local node = slide[i] + for j = 0, node.indent do + io.write(" ") + end + io.write("{ ") + io.write(tostr(node)) + io.write(" },\n") + end + io.write("},\n") +end + +function pretty_print_slides(slides) + io.write("gSlides = {\n") + for i = 1, #slides do + pretty_print_slide(slides[i]) + end + io.write("}\n") +end + |