comparison doodle/core/logging.d @ 51:0eaf39fda206

First cut at palette class
author daveb
date Wed, 04 Aug 2010 16:36:32 +0930
parents 1b4c9ba58673
children c63719604adb
comparison
equal deleted inserted replaced
50:dfa1e219eafe 51:0eaf39fda206
29 29
30 private { 30 private {
31 mixin(defineEnum!("Severity", 31 mixin(defineEnum!("Severity",
32 "TRACE", "INFO", "MESSAGE", "WARNING", "ERROR", "FATAL")); 32 "TRACE", "INFO", "MESSAGE", "WARNING", "ERROR", "FATAL"));
33 33
34 string mod_string(in Severity s) { 34 string severityString(in Severity s) {
35 switch (s) { 35 switch (s) {
36 case Severity.TRACE: 36 case Severity.TRACE:
37 return modifierString(Modifier.DIM) ~ fgColorString(Color.CYAN); 37 return modifierString(Modifier.DIM) ~ fgColorString(Color.CYAN);
38 case Severity.INFO: 38 case Severity.INFO:
39 return modifierString(Modifier.UNDERLINE) ~ fgColorString(Color.GREEN); 39 return modifierString(Modifier.UNDERLINE) ~ fgColorString(Color.GREEN);
50 } 50 }
51 assert(0); 51 assert(0);
52 } 52 }
53 53
54 void log(in Severity severity, in string message) { 54 void log(in Severity severity, in string message) {
55 write(mod_string(severity)); 55 write(severityString(severity));
56 write(message); 56 write(message);
57 writeln(modifierString(Modifier.RESET)); 57 writeln(modifierString(Modifier.RESET));
58 } 58 }
59 59
60 enum Modifier { 60 enum Modifier {
76 MAGENTA = 5, 76 MAGENTA = 5,
77 CYAN = 6, 77 CYAN = 6,
78 WHITE = 7 78 WHITE = 7
79 } 79 }
80 80
81 string modifierString(Modifier m) { return std.string.format("\033[%dm", 0 + m); } 81 string modifierString(in Modifier m) { return std.string.format("\033[%dm", 0 + m); }
82 string fgColorString(Color c) { return std.string.format("\033[%dm", 30 + c); } 82 string fgColorString(in Color c) { return std.string.format("\033[%dm", 30 + c); }
83 string bgColorString(Color c) { return std.string.format("\033[%dm", 40 + c); } 83 string bgColorString(in Color c) { return std.string.format("\033[%dm", 40 + c); }
84 84
85 private const(char)[] right(in char[] str, int n) { 85 private string right(in string str, in int n) {
86 int pos = str.length < n ? 0 : str.length - n; 86 int pos = str.length < n ? 0 : str.length - n;
87 return str[pos..$]; 87 return str[pos..$];
88 } 88 }
89 } 89 }