File: Terminal.cc

package info (click to toggle)
devtodo 0.1.20%2Bgit20200830.0ad52b0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 968 kB
  • sloc: ansic: 5,307; cpp: 3,908; perl: 112; sh: 106; makefile: 45; csh: 2
file content (101 lines) | stat: -rw-r--r-- 2,136 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include "Terminal.h"
namespace term {

// this is SUCH a dodgy hack
static bool forcecolour = false;

void forceColour(bool state) {
	forcecolour = state; 
}

string title(string const &str) {
	return string("]0;") + str + "";
}

string background(Colour colour) {
	return string("[4") + str::stringify(colour) + "m";
}

string foreground(Colour colour) {
	return string("[3") + str::stringify(colour) + "m";
}

string colour(Colour colour) {
	return string("[3") + str::stringify(colour) + "m";
}

string attribute(Attribute attribute) {
	return string("[") + str::stringify(attribute) + "m";
}

ostream &black(ostream &os) {
	if (&cout == &os && (forcecolour || isatty(1))) os << "";
	return os;
}

ostream &red(ostream &os) {
	if (&cout == &os && (forcecolour || isatty(1))) os << "";
	return os;
}

ostream &green(ostream &os) {
	if (&cout == &os && (forcecolour || isatty(1))) os << "";
	return os;
}

ostream &yellow(ostream &os) {
	if (&cout == &os && (forcecolour || isatty(1))) os << "";
	return os;
}

ostream &blue(ostream &os) {
	if (&cout == &os && (forcecolour || isatty(1))) os << "";
	return os;
}

ostream &magenta(ostream &os) {
	if (&cout == &os && (forcecolour || isatty(1))) os << "";
	return os;
}

ostream &cyan(ostream &os) {
	if (&cout == &os && (forcecolour || isatty(1))) os << "";
	return os;
}

ostream &white(ostream &os) {
	if (&cout == &os && (forcecolour || isatty(1))) os << "";
	return os;
}

ostream &normal(ostream &os) {
	if (&cout == &os && (forcecolour || isatty(1))) os << "";
	return os;
}

ostream &bold(ostream &os) {
	if (&cout == &os && (forcecolour || isatty(1))) os << "";
	return os;
}

ostream &halfbright(ostream &os) {
	if (&cout == &os && (forcecolour || isatty(1))) os << "";
	return os;
}

ostream &underline(ostream &os) {
	if (&cout == &os && (forcecolour || isatty(1))) os << "";
	return os;
}

ostream &blink(ostream &os) {
	if (&cout == &os && (forcecolour || isatty(1))) os << "";
	return os;
}

ostream &reverse(ostream &os) {
	if (&cout == &os && (forcecolour || isatty(1))) os << "";
	return os;
}

}