add fmt module

This commit is contained in:
Evgeny
2022-06-02 12:30:36 +03:00
parent f4847e9f8f
commit dcb183b76c
2 changed files with 77 additions and 0 deletions

59
lib/fmt.lua Normal file
View File

@@ -0,0 +1,59 @@
local md_colors = require "md_colors"
local fmt = {}
function fmt.bold(str)
return "<b>"..str.."</b>"
end
function fmt.italic(str)
return "<i>"..str.."</i>"
end
function fmt.underline(str)
return "<u>"..str.."</u>"
end
function fmt.primary(str)
return fmt.colored(str, ui:get_colors().primary_text)
end
function fmt.secondary(str)
return fmt.colored(str, ui:get_colors().secondary_text)
end
function fmt.colored(str, color)
return "<font color=\""..color.."\">"..str.."</font>"
end
function fmt.bg_colored(str, color)
return "<span style=\"background-color: "..color.."\">"..str.."</span>"
end
function fmt.red(str)
return fmt.colored(str, md_colors.red_500)
end
function fmt.green(str)
return fmt.colored(str, md_colors.green_500)
end
function fmt.blue(str)
return fmt.colored(str, md_colors.blue_500)
end
function fmt.space(str)
return "&nbsp;"
end
function fmt.escape(str)
return (string.gsub(str, "[}{\">/<'&]", {
["&"] = "&amp;",
["<"] = "&lt;",
[">"] = "&gt;",
['"'] = "&quot;",
["'"] = "&#39;",
["/"] = "&#47;"
}))
end
return fmt

18
samples/fmt-test.lua Normal file
View File

@@ -0,0 +1,18 @@
local fmt = require "fmt"
function on_resume()
ui:show_lines{
fmt.bold("bold"),
fmt.italic("italic"),
fmt.underline("underline"),
fmt.primary("primary"),
fmt.secondary("secondary"),
fmt.red("red"),
fmt.green("green"),
fmt.blue("blue"),
fmt.colored("lime", "#00FF00"),
fmt.bg_colored(fmt.colored("lime background", "#000000"), "#00FF00"),
fmt.space().."start with space",
fmt.escape("<b>not parsed</b>"),
}
end