--[[ 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 and foreground. function markup.fontfg(font, fg, text) return string.format('%s', font, fg, text) end -- Set font and background. function markup.fontbg(font, bg, text) return string.format('%s', font, 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 })