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