Microkernel thing OS experiment (Zig ⚡)
1pub const c = @cImport({ 2 @cInclude("flanterm.h"); 3 @cInclude("flanterm_backends/fb.h"); 4}); 5 6pub const ctx = c.struct_flanterm_context; 7 8pub const init = c.flanterm_fb_init; 9 10pub const Color = enum(u8) { 11 black = 30, 12 red = 31, 13 green = 32, 14 yellow = 33, 15 blue = 34, 16 magenta = 35, 17 cyan = 36, 18 white = 37, 19 default = 39, 20 bright_black = 90, 21 bright_red = 91, 22 bright_green = 92, 23 bright_yellow = 93, 24 bright_blue = 94, 25 bright_magenta = 95, 26 bright_cyan = 96, 27 bright_white = 97, 28}; 29 30var ansi_colors_backing = [8]u32{ 31 0x000000, // Black 32 0xff0000, // Red 33 0x37dd21, // Green 34 0xfee409, // Yellow 35 0x1460d2, // Blue 36 0xff005d, // Magenta 37 0x00bbbb, // Cyan 38 0xbbbbbb, // White 39}; 40pub const ansi_colors: [*]u32 = @ptrCast(&ansi_colors_backing); 41 42var bold_ansi_colors_backing = [8]u32{ 43 0x545454, // Black 44 0xf40d17, // Red 45 0x3bcf1d, // Green 46 0xecc809, // Yellow 47 0x5555ff, // Blue 48 0xff55ff, // Magenta 49 0x6ae3f9, // Cyan 50 0xffffff, // White 51}; 52pub const bold_ansi_colors: [*]u32 = @ptrCast(&ansi_colors_backing); 53 54pub const esc_end = "\x1b[0m";