--[[ Licensed under MIT License * (c) 2013, Luca CPZ * (c) 2009, Uli Schlachter * (c) 2009, Majic --]] local format = string.format local setmetatable = setmetatable -- Lain markup util submodule -- lain.util.markup local markup = { fg = {}, bg = {} } -- Convenience tags function markup.bold(text) return format('%s', text) end function markup.italic(text) return format('%s', text) end function markup.strike(text) return format('%s', text) end function markup.underline(text) return format('%s', text) end function markup.monospace(text) return format('%s', text) end function markup.big(text) return format('%s', text) end function markup.small(text) return format('%s', text) end -- Set the font function markup.font(font, text) return format("%s", font, text) end -- Set the foreground function markup.fg.color(color, text) return format("%s", color, text) end -- Set the background function markup.bg.color(color, text) return format("%s", color, text) end -- Set foreground and background function markup.color(fg, bg, text) return format("%s", fg, bg, text) end -- Set font and foreground function markup.fontfg(font, fg, text) return format("%s", font, fg, text) end -- Set font and background function markup.fontbg(font, bg, text) return format("%s", font, bg, text) end -- Set font, foreground and background function markup.fontcolor(font, fg, bg, text) return 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, })