diff options
author | Daniel Kolesa <d.kolesa@osg.samsung.com> | 2016-08-18 14:50:24 +0100 |
---|---|---|
committer | Daniel Kolesa <d.kolesa@osg.samsung.com> | 2016-08-18 14:50:24 +0100 |
commit | 8ff134472e321a53c8bf43d7d689235aa1822a05 (patch) | |
tree | 2f0dab24388566fb08320f00cf3372d98399d9ed | |
parent | 36d086ec42feabe2b5c868897897c6a9e0460978 (diff) | |
download | efl-8ff134472e321a53c8bf43d7d689235aa1822a05.tar.gz |
docs: add writer support for include plugin
-rw-r--r-- | src/scripts/elua/apps/docgen/writer.lua | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/scripts/elua/apps/docgen/writer.lua b/src/scripts/elua/apps/docgen/writer.lua index 110e00e4ab..0416628817 100644 --- a/src/scripts/elua/apps/docgen/writer.lua +++ b/src/scripts/elua/apps/docgen/writer.lua @@ -15,6 +15,11 @@ M.has_feature = function(fname) end M.Writer = util.Object:clone { + INCLUDE_PAGE = 0, + INCLUDE_SECTION = 1, + INCLUDE_NAMESPACE = 2, + INCLUDE_TAG = 3, + __ctor = function(self, path) local subs if type(path) == "table" then @@ -45,6 +50,37 @@ M.Writer = util.Object:clone { return self end, + write_include = function(self, tp, name, flags, nonl) + local it_to_tp = { + [self.INCLUDE_PAGE] = "page", + [self.INCLUDE_SECTION] = "section", + [self.INCLUDE_NAMESPACE] = "namespace", + [self.INCLUDE_TAG] = "tagtopic" + } + self:write_raw("{{", it_to_tp[tp], ">", name); + if flags then + if tp == self.INCLUDE_SECTION and flags.section then + self:write_raw("#", flags.section) + end + flags.section = nil + local flstr = {} + for k, v in ipairs(flags) do + if v then + flstr[#flstr + 1] = k + end + end + flstr = table.concat(flstr, "&") + if #flstr > 0 then + self:write_raw("&", flstr) + end + end + self:write_raw("}}") + if not nonl then + self:write_nl() + end + return self + end, + write_fmt = function(self, fmt1, fmt2, ...) self:write_raw(fmt1, ...) self:write_raw(fmt2) |