summaryrefslogtreecommitdiff
path: root/script/provider/markdown.lua
diff options
context:
space:
mode:
Diffstat (limited to 'script/provider/markdown.lua')
-rw-r--r--script/provider/markdown.lua26
1 files changed, 26 insertions, 0 deletions
diff --git a/script/provider/markdown.lua b/script/provider/markdown.lua
new file mode 100644
index 00000000..ca76ec89
--- /dev/null
+++ b/script/provider/markdown.lua
@@ -0,0 +1,26 @@
+local mt = {}
+mt.__index = mt
+mt.__name = 'markdown'
+
+function mt:add(language, text)
+ if not text or #text == 0 then
+ return
+ end
+ if language == 'md' then
+ if self._last == 'md' then
+ self[#self+1] = ''
+ end
+ self[#self+1] = text
+ else
+ self[#self+1] = ('```%s\n%s\n```'):format(language, text)
+ end
+ self._last = language
+end
+
+function mt:string()
+ return table.concat(self, '\n')
+end
+
+return function ()
+ return setmetatable({}, mt)
+end