add fmt module
This commit is contained in:
59
lib/fmt.lua
Normal file
59
lib/fmt.lua
Normal 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 " "
|
||||
end
|
||||
|
||||
function fmt.escape(str)
|
||||
return (string.gsub(str, "[}{\">/<'&]", {
|
||||
["&"] = "&",
|
||||
["<"] = "<",
|
||||
[">"] = ">",
|
||||
['"'] = """,
|
||||
["'"] = "'",
|
||||
["/"] = "/"
|
||||
}))
|
||||
end
|
||||
|
||||
return fmt
|
||||
18
samples/fmt-test.lua
Normal file
18
samples/fmt-test.lua
Normal 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
|
||||
Reference in New Issue
Block a user