c++/parameter-lister/info/globalcode/parameterLister/terminalCodes/TerminalCodes.h
author František Kučera <franta-hg@frantovo.cz>
Mon, 04 May 2015 00:12:33 +0200
changeset 11 870b868b6b57
parent 5 1581a99ab33f
child 28 bfef9f34e438
permissions -rw-r--r--
move formatting logic to output modules
franta-hg@11
     1
#ifndef TERMINALCODES_H
franta-hg@11
     2
#define	TERMINALCODES_H
franta-hg@1
     3
franta-hg@1
     4
#include <ostream>
franta-hg@3
     5
franta-hg@1
     6
namespace info {
franta-hg@3
     7
namespace globalcode {
franta-hg@3
     8
namespace parameterLister {
franta-hg@3
     9
namespace terminalCodes {
franta-hg@1
    10
franta-hg@3
    11
enum Code {
franta-hg@3
    12
	FG_RED = 31,
franta-hg@3
    13
	FG_GREEN = 32,
franta-hg@3
    14
	FG_BLUE = 34,
franta-hg@3
    15
	FG_DEFAULT = 39,
franta-hg@3
    16
	BG_RED = 41,
franta-hg@3
    17
	BG_GREEN = 42,
franta-hg@3
    18
	BG_BLUE = 44,
franta-hg@3
    19
	BG_DEFAULT = 49
franta-hg@3
    20
};
franta-hg@1
    21
franta-hg@3
    22
class Modifier {
franta-hg@3
    23
	Code code;
franta-hg@3
    24
public:
franta-hg@1
    25
franta-hg@3
    26
	Modifier(Code code) : code(code) {
franta-hg@3
    27
	}
franta-hg@1
    28
franta-hg@3
    29
	friend std::ostream&
franta-hg@3
    30
	operator<<(std::ostream& os, const Modifier& mod) {
franta-hg@3
    31
		return os << "\033[" << mod.code << "m";
franta-hg@1
    32
	}
franta-hg@3
    33
};
franta-hg@3
    34
franta-hg@3
    35
}
franta-hg@3
    36
}
franta-hg@3
    37
}
franta-hg@1
    38
}
franta-hg@1
    39
franta-hg@11
    40
#endif	/* TERMINALCODES_H */
franta-hg@1
    41