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