Mercurial > projects > doodle
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 } |