Skip to content

Instantly share code, notes, and snippets.

@42LM
Created February 22, 2026 14:34
Show Gist options
  • Select an option

  • Save 42LM/ba18fbd8bef12850a09e1bb29aea88a4 to your computer and use it in GitHub Desktop.

Select an option

Save 42LM/ba18fbd8bef12850a09e1bb29aea88a4 to your computer and use it in GitHub Desktop.
//
//    
//  
//  
// 
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