You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							69 lines
						
					
					
						
							2.5 KiB
						
					
					
				
			
		
		
	
	
							69 lines
						
					
					
						
							2.5 KiB
						
					
					
				 | 
						|
--[[ | 
						|
                                  | 
						|
     Licensed under MIT License   | 
						|
      * (c) 2013, Luke Bonham     | 
						|
      * (c) 2009, Uli Schlachter  | 
						|
      * (c) 2009, Majic           | 
						|
                                  | 
						|
--]] | 
						|
 | 
						|
local beautiful    = require("beautiful") | 
						|
local tostring     = tostring | 
						|
local setmetatable = setmetatable | 
						|
 | 
						|
-- Lain markup util submodule | 
						|
-- lain.util.markup | 
						|
local markup = {} | 
						|
 | 
						|
local fg = {} | 
						|
local bg = {} | 
						|
 | 
						|
-- Convenience tags. | 
						|
function markup.bold(text)      return '<b>'     .. tostring(text) .. '</b>'     end | 
						|
function markup.italic(text)    return '<i>'     .. tostring(text) .. '</i>'     end | 
						|
function markup.strike(text)    return '<s>'     .. tostring(text) .. '</s>'     end | 
						|
function markup.underline(text) return '<u>'     .. tostring(text) .. '</u>'     end | 
						|
function markup.monospace(text) return '<tt>'    .. tostring(text) .. '</tt>'    end | 
						|
function markup.big(text)       return '<big>'   .. tostring(text) .. '</big>'   end | 
						|
function markup.small(text)     return '<small>' .. tostring(text) .. '</small>' end | 
						|
 | 
						|
-- Set the font. | 
						|
function markup.font(font, text) | 
						|
  return '<span font="'  .. tostring(font)  .. '">' .. tostring(text) ..'</span>' | 
						|
end | 
						|
 | 
						|
-- Set the foreground. | 
						|
function fg.color(color, text) | 
						|
  return '<span foreground="' .. tostring(color) .. '">' .. tostring(text) .. '</span>' | 
						|
end | 
						|
 | 
						|
-- Set the background. | 
						|
function bg.color(color, text) | 
						|
  return '<span background="' .. tostring(color) .. '">' .. tostring(text) .. '</span>' | 
						|
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 | 
						|
 | 
						|
-- 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 | 
						|
 | 
						|
-- 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 | 
						|
 | 
						|
markup.fg = fg | 
						|
markup.bg = bg | 
						|
 | 
						|
-- 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 })
 | 
						|
 |