Created
February 22, 2026 14:34
-
-
Save 42LM/ba18fbd8bef12850a09e1bb29aea88a4 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // | |
| // | |
| // | |
| // | |
| // | |
| const std = @import("std"); | |
| const reset = "\x1b[0m"; | |
| const bold = "\x1b[1m"; | |
| const blue = "\x1b[34m"; | |
| const b | |
| // Foreground (Text): \x1b[38;2;R;G;Bm | |
| // Background: \x1b[48;2;R;G;Bm | |
| pub fn main() !void { | |
| var gpa = std.heap.GeneralPurposeAllocator(.{}){}; | |
| defer _ = gpa.deinit(); | |
| const allocator = gpa.allocator(); | |
| // var threaded = std.Io.Threaded.init(std.heap.page_allocator, .{}); | |
| var threaded = std.Io.Threaded.init(allocator, .{}); | |
| defer threaded.deinit(); | |
| const io = threaded.io(); | |
| var stdout_buf: [1024]u8 = undefined; | |
| var stdout_writer: std.Io.File.Writer = .init(.stdout(), io, &stdout_buf); | |
| const io_writer = &stdout_writer.interface; | |
| var cwd_buf: [64]u8 = undefined; | |
| const cwd = try std.process.getCwd(&cwd_buf); | |
| var display_buf: [std.fs.max_path_bytes + 1]u8 = undefined; | |
| const path: []const u8 = blk: { | |
| if (std.posix.getenv("HOME")) |home| { | |
| if (std.mem.startsWith(u8, cwd, home)) { | |
| const rest = cwd[home.len..]; | |
| display_buf[0] = '~'; | |
| @memcpy(display_buf[1..][0..rest.len], rest); | |
| break :blk display_buf[0 .. 1 + rest.len]; | |
| } | |
| } | |
| break :blk cwd; | |
| }; | |
| try writeDefaultPrompt(io_writer, path); | |
| } | |
| fn writeDefaultPrompt(writer: *std.Io.Writer, path: []const u8) !void { | |
| try writer.print("{s}{s}{s}{s}\n%% ", .{ bold, blue, path, reset }); | |
| try writer.flush(); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment