From d9ec3a7de71977581c21d23d94be60bf407e2478 Mon Sep 17 00:00:00 2001 From: utox39 Date: Sat, 13 Sep 2025 18:41:15 +0200 Subject: [PATCH] feat: add logic for username and hostname colors --- src/main.zig | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main.zig b/src/main.zig index 289dd4a..d7af439 100644 --- a/src/main.zig +++ b/src/main.zig @@ -27,14 +27,15 @@ pub fn main() !void { const username = try detection.user.getUsername(allocator); const hostname = try detection.system.getHostname(allocator); - try modules_list.append(try std.fmt.allocPrint(allocator, "{s}{s}{s}@{s}{s}{s}", .{ - ascii.Yellow, - username, - ascii.Reset, - ascii.Yellow, - hostname, - ascii.Reset, - })); + + const username_hostname_color = if (config.getUsernameHostnameColor(conf)) |color| blk: { + var buf: [32]u8 = undefined; + const rgb = try ascii.hexColorToRgb(color); + const formatted_color = try std.fmt.bufPrint(&buf, "\x1b[38;2;{d};{d};{d}m", .{ rgb.r, rgb.g, rgb.b }); + break :blk formatted_color; + } else ascii.Yellow; + + try modules_list.append(try formatters.getFormattedUsernameHostname(allocator, username_hostname_color, username, hostname)); allocator.free(hostname); allocator.free(username);