X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/7a4d6f5ffa594603ef83bc8b0e9945d12e082490..f1964b40e49dff92abdff97b7bd0408435ed589f:/util/markup.lua diff --git a/util/markup.lua b/util/markup.lua index e7baec0..63f9486 100644 --- a/util/markup.lua +++ b/util/markup.lua @@ -1,98 +1,62 @@ - --[[ - - 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 beautiful = require("beautiful") -local tostring = tostring +local format = string.format local setmetatable = setmetatable -- Lain markup util submodule -- lain.util.markup -local markup = {} - -local fg = {} -local bg = {} - ---[[ clean this as soon as you document it - - +-- markup - | - |`-- bold() Set bold. - |`-- italic() Set italicized text. - |`-- strike() Set strikethrough text. - |`-- underline() Set underlined text. - |`-- monospace() Set monospaced text. - |`-- big() Set bigger text. - |`-- small() Set smaller text. - |`-- font() Set the font of the text. - | - |`--+ bg - | | - | |`-- color() Set background color. - | |`-- focus() Set focus background color. - | |`-- normal() Set normal background color. - | `-- urgent() Set urgent background color. - | - |`--+ fg - | | - | |`-- color() Set foreground color. - | |`-- focus() Set focus foreground color. - | |`-- normal() Set normal foreground color. - | `-- urgent() Set urgent foreground color. - | - |`-- focus() Set both foreground and background focus colors. - |`-- normal() Set both foreground and background normal colors. - `-- urgent() Set both foreground and background urgent colors. - -]] - --- Convenience tags. -function markup.bold(text) return '' .. tostring(text) .. '' end -function markup.italic(text) return '' .. tostring(text) .. '' end -function markup.strike(text) return '' .. tostring(text) .. '' end -function markup.underline(text) return '' .. tostring(text) .. '' end -function markup.monospace(text) return '' .. tostring(text) .. '' end -function markup.big(text) return '' .. tostring(text) .. '' end -function markup.small(text) return '' .. tostring(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 '' .. tostring(text) ..'' + return format("%s", font, text) end --- Set the foreground. -function fg.color(color, text) - return '' .. tostring(text) .. '' +-- Set the foreground +function markup.fg.color(color, text) + return format("%s", color, text) end --- Set the background. -function bg.color(color, text) - return '' .. tostring(text) .. '' +-- Set the background +function markup.bg.color(color, text) + return format("%s", color, text) end --- Context: focus -function fg.focus(text) return fg.color(beautiful.fg_focus, text) end -function bg.focus(text) return bg.color(beautiful.bg_focus, text) end -function markup.focus(text) return bg.focus(fg.focus(text)) end +-- Set foreground and background +function markup.color(fg, bg, text) + return format("%s", fg, bg, text) +end --- Context: normal -function fg.normal(text) return fg.color(beautiful.fg_normal, text) end -function bg.normal(text) return bg.color(beautiful.bg_normal, text) end -function markup.normal(text) return bg.normal(fg.normal(text)) end +-- Set font and foreground +function markup.fontfg(font, fg, text) + return format("%s", font, fg, text) +end --- Context: urgent -function fg.urgent(text) return fg.color(beautiful.fg_urgent, text) end -function bg.urgent(text) return bg.color(beautiful.bg_urgent, text) end -function markup.urgent(text) return bg.urgent(fg.urgent(text)) end +-- Set font and background +function markup.fontbg(font, bg, text) + return format("%s", font, bg, text) +end -markup.fg = fg -markup.bg = bg +-- 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 })