--[[
Licensed under MIT License
* (c) 2013, Luke Bonham
* (c) 2009, Uli Schlachter
* (c) 2009, Majic
--]]
local string = { format = string.format }
local setmetatable = setmetatable
-- Lain markup util submodule
-- lain.util.markup
local markup = { fg = {}, bg = {} }
-- Convenience tags.
function markup.bold(text) return '' .. text .. '' end
function markup.italic(text) return '' .. text .. '' end
function markup.strike(text) return '' .. text .. '' end
function markup.underline(text) return '' .. text .. '' end
function markup.monospace(text) return '' .. text .. '' end
function markup.big(text) return '' .. text .. '' end
function markup.small(text) return '' .. text .. '' end
-- Set the font.
function markup.font(font, text)
return '' .. text ..''
end
-- Set the foreground.
function markup.fg.color(color, text)
return '' .. text .. ''
end
-- Set the background.
function markup.bg.color(color, text)
return '' .. text .. ''
end
-- Set foreground and background.
function markup.color(fg, bg, text)
return string.format('%s', fg, bg, text)
end
-- Set font, foreground and background.
function markup.fontcolor(font, fg, bg, text)
return string.format('%s', font, fg, bg, text)
end
-- link markup.{fg,bg}(...) calls to markup.{fg,bg}.color(...)
setmetatable(markup.fg, { __call = function(_, ...) return markup.fg.color(...) end })
setmetatable(markup.bg, { __call = function(_, ...) return markup.bg.color(...) end })
-- link markup(...) calls to markup.fg.color(...)
return setmetatable(markup, { __call = function(_, ...) return markup.fg.color(...) end })