guts
gutsConventions.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
8 #define UNINITIALIZEDNUMBERQUANTITY -123456
9 
13 #define UNINITIALIZEDSTRINGQUANTITY "na"
14 
15 // Exit codes for various error scenarios.
16 #define EC__FILENOTFOUND 301
17 #define EC__G4NUMBERERROR 302
18 
19 // ANSI color codes for terminal text formatting.
20 // These can be used to print colored text to the console.
21 
25 #define KBOLD "\x1B[1m"
26 
30 #define KRED "\x1B[31m"
31 
35 #define KGRN "\x1B[32m"
36 
40 #define KYEL "\x1B[33m"
41 
45 #define KBLU "\x1B[34m"
46 
50 #define KMAG "\x1B[35m"
51 
55 #define KCYN "\x1B[36m"
56 
60 #define KWHT "\x1B[37m"
61 
65 #define RST "\x1B[0m"
66 
67 // Macros for colored text formatting with reset
68 #define FRED(x) KRED x RST
69 #define FGRN(x) KGRN x RST
70 #define FYEL(x) KYEL x RST
71 #define FBLU(x) KBLU x RST
72 #define FMAG(x) KMAG x RST
73 #define FCYN(x) KCYN x RST
74 #define FWHT(x) KWHT x RST
75 
76 #define BOLD(x) KBOLD x RST
77 #define UNDL(x) "\x1B[4m" x RST
78 
79 #define FATALERRORL BOLD(FRED("Fatal Error: "))
80 #define GWARNING BOLD(FYEL("Warning: "))
81 
82 #define CONSTRUCTORLOG "↑"
83 #define DESTRUCTORLOG "↓"
84 
85 // List item symbols
86 #define POINTITEM "•"
87 #define CIRCLEITEM "◦"
88 #define SQUAREITEM "◻︎"
89 #define ARROWITEM "➤"
90 #define GREENPOINTITEM BOLD(FGRN(POINTITEM))
91 #define GREENCIRCLEITEM BOLD(FGRN(CIRCLEITEM))
92 #define GREENSQUAREITEM BOLD(FGRN(SQUAREITEM))
93 #define GREENARROWITEM BOLD(FGRN(ARROWITEM))
94 #define REDPOINTITEM BOLD(FRED(POINTITEM))
95 #define REDCIRCLEITEM BOLD(FRED(CIRCLEITEM))
96 #define REDSQUAREITEM BOLD(FRED(SQUAREITEM))
97 #define REDARROWITEM BOLD(FRED(ARROWITEM))
98 
99 // Tab spacing for indentation
100 #define GTAB " "
101 #define GTABTAB GTAB GTAB
102 #define GTABTABTAB GTAB GTAB GTAB
103 
104 // Single tab list items
105 #define TPOINTITEM GTAB POINTITEM
106 #define TCIRCLEITEM GTAB CIRCLEITEM
107 #define TSQUAREITEM GTAB SQUAREITEM
108 #define TARROWITEM GTAB ARROWITEM
109 #define TGREENPOINTITEM GTAB GREENPOINTITEM
110 #define TGREENCIRCLEITEM GTAB GREENCIRCLEITEM
111 #define TGREENSQUAREITEM GTAB GREENSQUAREITEM
112 #define TGREENARROWITEM GTAB GREENARROWITEM
113 #define TREDPOINTITEM GTAB REDPOINTITEM
114 #define TREDCIRCLEITEM GTAB REDCIRCLEITEM
115 #define TREDSQUAREITEM GTAB REDSQUAREITEM
116 #define TREDARROWITEM GTAB REDARROWITEM
117 
118 // Double tab list items
119 #define TTPOINTITEM GTABTAB POINTITEM
120 #define TTCIRCLEITEM GTABTAB CIRCLEITEM
121 #define TTSQUAREITEM GTABTAB SQUAREITEM
122 #define TTARROWITEM GTABTAB ARROWITEM
123 #define TTGREENPOINTITEM GTABTAB GREENPOINTITEM
124 #define TTGREENCIRCLEITEM GTABTAB GREENCIRCLEITEM
125 #define TTGREENSQUAREITEM GTABTAB GREENSQUAREITEM
126 #define TTGREENARROWITEM GTABTAB GREENARROWITEM
127 #define TTREDPOINTITEM GTABTAB REDPOINTITEM
128 #define TTREDCIRCLEITEM GTABTAB REDCIRCLEITEM
129 #define TTREDSQUAREITEM GTABTAB REDSQUAREITEM
130 #define TTREDARROWITEM GTABTAB REDARROWITEM
131 
132 // Highlight symbols
133 #define HHL "⏵"
134 #define HHR "⏴"
135 #define RSTHHR HHR RST
136 #define GREENHHL KGRN HHL
137 #define REDHHL KRED HHL
138 #define YELLOWHHL KYEL HHL
139 #define BOLDWHHL BOLD(HHL)
140