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";