let x_padding = hash["padding"] ?? 50; let header = #{ x_padding: x_padding, out: "", append: |suffix| { this.out += suffix + "\n"; }, append_center: |suffix| { let suffix_len = suffix.len(); let padding = this.x_padding - suffix_len / 2; let fill = ""; fill.pad(padding, " "); this.out += fill + suffix.to_upper() + fill + "\n"; }, append_divider: || { let divider = ""; divider.pad(this.x_padding * 2, "─"); this.append(divider); }, open_echo: || { this.out += "echo -e '\n"; }, close_echo: || { this.out += "'"; }, to_string: || { return this.out; } }; header.open_echo(); header.append_divider(); params.for_each(|idx| { header.append_center(this); }); header.append_divider(); header.close_echo(); return header.to_string();