44 lines
1.3 KiB
Lua
44 lines
1.3 KiB
Lua
local M = { }
|
|
|
|
local util = require("modules/util")
|
|
|
|
function M.modules(modules, config_)
|
|
local config = config_ or require("modules/config")
|
|
local info_name_padding_amount = util.longest_info_name_length(modules)
|
|
|
|
M.header =
|
|
config.logo[1] .. config.separator.logo ..
|
|
config.color.cyan .. config.user ..
|
|
config.color.gray .. " @ " ..
|
|
config.color.white .. config.hostname
|
|
|
|
-- Optional plus above the info separator
|
|
-- config.separator.horizontal = string.rep("-", info_name_padding_amount + 1) ..
|
|
-- "+" .. string.rep("-", ((#config.user + 1 + #config.hostname) - info_name_padding_amount))
|
|
|
|
M.horizontal_separator =
|
|
config.logo[2] .. config.separator.logo .. config.separator.horizontal
|
|
|
|
print(M.header)
|
|
|
|
print(M.horizontal_separator)
|
|
|
|
for i, info in ipairs(modules) do
|
|
print(
|
|
(config.logo[i+2] or "[! OUT OF LOGO !]") ..
|
|
config.separator.logo ..
|
|
|
|
config.color.cyan .. info.name ..
|
|
string.rep(" ", (info_name_padding_amount - #info.name)) ..
|
|
|
|
config.color.dimyellow_italic ..
|
|
config.separator.info ..
|
|
config.color.dimyellow_italic ..
|
|
info.cmd() ..
|
|
config.color.reset
|
|
)
|
|
end
|
|
end
|
|
|
|
return M
|