8 |
8 |
9 |
9 |
10 local t_concat, t_insert = table.concat, table.insert; |
10 local t_concat, t_insert = table.concat, table.insert; |
11 local char, format = string.char, string.format; |
11 local char, format = string.char, string.format; |
12 local ipairs = ipairs; |
12 local ipairs = ipairs; |
|
13 local io_write = io.write; |
|
14 |
|
15 local windows; |
|
16 if os.getenv("WINDIR") then |
|
17 windows = require "util.windows"; |
|
18 end |
|
19 local orig_color = windows and windows.get_consolecolor and windows.get_consolecolor(); |
|
20 |
13 module "termcolours" |
21 module "termcolours" |
14 |
22 |
15 local stylemap = { |
23 local stylemap = { |
16 reset = 0; bright = 1, dim = 2, underscore = 4, blink = 5, reverse = 7, hidden = 8; |
24 reset = 0; bright = 1, dim = 2, underscore = 4, blink = 5, reverse = 7, hidden = 8; |
17 black = 30; red = 31; green = 32; yellow = 33; blue = 34; magenta = 35; cyan = 36; white = 37; |
25 black = 30; red = 31; green = 32; yellow = 33; blue = 34; magenta = 35; cyan = 36; white = 37; |
18 ["black background"] = 40; ["red background"] = 41; ["green background"] = 42; ["yellow background"] = 43; ["blue background"] = 44; ["magenta background"] = 45; ["cyan background"] = 46; ["white background"] = 47; |
26 ["black background"] = 40; ["red background"] = 41; ["green background"] = 42; ["yellow background"] = 43; ["blue background"] = 44; ["magenta background"] = 45; ["cyan background"] = 46; ["white background"] = 47; |
19 bold = 1, dark = 2, underline = 4, underlined = 4, normal = 0; |
27 bold = 1, dark = 2, underline = 4, underlined = 4, normal = 0; |
20 } |
28 } |
|
29 |
|
30 local winstylemap = { |
|
31 ["0"] = orig_color, -- reset |
|
32 ["1"] = 7+8, -- bold |
|
33 ["1;33"] = 2+4+8, -- bold yellow |
|
34 ["1;31"] = 4+8 -- bold red |
|
35 } |
21 |
36 |
22 local fmt_string = char(0x1B).."[%sm%s"..char(0x1B).."[0m"; |
37 local fmt_string = char(0x1B).."[%sm%s"..char(0x1B).."[0m"; |
23 function getstring(style, text) |
38 function getstring(style, text) |
24 if style then |
39 if style then |
25 return format(fmt_string, style, text); |
40 return format(fmt_string, style, text); |