X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/6cce5b6fe11fe8c69b08140d645c604fef59e42a..025508ce835c3a83484b4d32c179347e51498e9f:/util/markup.lua
diff --git a/util/markup.lua b/util/markup.lua
index 0fc6ef6..63f9486 100644
--- a/util/markup.lua
+++ b/util/markup.lua
@@ -1,53 +1,66 @@
-
--[[
-
- Licensed under MIT License
- * (c) 2013, Luke Bonham
- * (c) 2009, Uli Schlachter
- * (c) 2009, Majic
-
+
+ Licensed under MIT License
+ * (c) 2013, Luca CPZ
+ * (c) 2009, Uli Schlachter
+ * (c) 2009, Majic
+
--]]
-local string = { format = string.format }
+local format = string.format
local setmetatable = setmetatable
-- Lain markup util submodule
-- lain.util.markup
-local markup = {}
-
--- 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.
+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 '' .. text ..''
+ return format("%s", font, text)
end
--- Set the foreground.
-function markup.fgcolor(color, text)
- return '' .. text .. ''
+-- Set the foreground
+function markup.fg.color(color, text)
+ return format("%s", color, text)
end
--- Set the background.
-function markup.bgcolor(color, text)
- return '' .. text .. ''
+-- Set the background
+function markup.bg.color(color, text)
+ return format("%s", color, text)
end
--- Set foreground and background.
+-- Set foreground and background
function markup.color(fg, bg, text)
- return string.format('%s', fg, bg, text)
+ return format("%s", fg, bg, text)
end
--- Set font, foreground and background.
+-- 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 string.format('%s', 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 })