guts
Loading...
Searching...
No Matches
gutsConventions.h
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4
36#define UNINITIALIZEDNUMBERQUANTITY -123456
37
48#define UNINITIALIZEDSTRINGQUANTITY "NULL"
49
50// Exit codes for various error scenarios.
51
59#define EC__FILENOTFOUND 301
60
70#define EC__G4NUMBERERROR 302
71
72// ANSI color codes for terminal text formatting.
73// These can be used to print colored text to the console.
74
82#define KBOLD "\x1B[1m"
83
88#define KRED "\x1B[31m"
89
94#define KGRN "\x1B[32m"
95
100#define KYEL "\x1B[33m"
101
106#define KBLU "\x1B[34m"
107
112#define KMAG "\x1B[35m"
113
118#define KCYN "\x1B[36m"
119
124#define KWHT "\x1B[37m"
125
133#define RST "\x1B[0m"
134
135// Macros for colored text formatting with reset
136
145#define FRED(x) KRED x RST
146
151#define FGRN(x) KGRN x RST
152
157#define FYEL(x) KYEL x RST
158
163#define FBLU(x) KBLU x RST
164
169#define FMAG(x) KMAG x RST
170
175#define FCYN(x) KCYN x RST
176
181#define FWHT(x) KWHT x RST
182
189#define BOLD(x) KBOLD x RST
190
195#define UNDL(x) "\x1B[4m" x RST
196
206#define FATALERRORL BOLD(FRED("Fatal Error: "))
207
214#define GWARNING BOLD(FYEL("Warning: "))
215
220#define CONSTRUCTORLOG "↑"
221
226#define DESTRUCTORLOG "↓"
227
228// List item symbols
229
234#define POINTITEM "•"
235
240#define CIRCLEITEM "◦"
241
246#define SQUAREITEM "◻︎"
247
252#define ARROWITEM "➤"
253
254#define GREENPOINTITEM BOLD(FGRN(POINTITEM))
255#define GREENCIRCLEITEM BOLD(FGRN(CIRCLEITEM))
256#define GREENSQUAREITEM BOLD(FGRN(SQUAREITEM))
257#define GREENARROWITEM BOLD(FGRN(ARROWITEM))
258#define REDPOINTITEM BOLD(FRED(POINTITEM))
259#define REDCIRCLEITEM BOLD(FRED(CIRCLEITEM))
260#define REDSQUAREITEM BOLD(FRED(SQUAREITEM))
261#define REDARROWITEM BOLD(FRED(ARROWITEM))
262
263// Tab spacing for indentation
264
272#define GTAB " "
273#define GTABTAB GTAB GTAB
274#define GTABTABTAB GTAB GTAB GTAB
275#define GTABX4 GTABTABTAB GTAB
276#define GTABX5 GTABX4 GTAB
277#define GTABX6 GTABX5 GTAB
278#define GTABX7 GTABX6 GTAB
279#define GTABX8 GTABX7 GTAB
280
281// Single tab list items
282#define TPOINTITEM GTAB POINTITEM
283#define TCIRCLEITEM GTAB CIRCLEITEM
284#define TSQUAREITEM GTAB SQUAREITEM
285#define TARROWITEM GTAB ARROWITEM
286#define TGREENPOINTITEM GTAB GREENPOINTITEM
287#define TGREENCIRCLEITEM GTAB GREENCIRCLEITEM
288#define TGREENSQUAREITEM GTAB GREENSQUAREITEM
289#define TGREENARROWITEM GTAB GREENARROWITEM
290#define TREDPOINTITEM GTAB REDPOINTITEM
291#define TREDCIRCLEITEM GTAB REDCIRCLEITEM
292#define TREDSQUAREITEM GTAB REDSQUAREITEM
293#define TREDARROWITEM GTAB REDARROWITEM
294
295// Double tab list items
296#define TTPOINTITEM GTABTAB POINTITEM
297#define TTCIRCLEITEM GTABTAB CIRCLEITEM
298#define TTSQUAREITEM GTABTAB SQUAREITEM
299#define TTARROWITEM GTABTAB ARROWITEM
300#define TTGREENPOINTITEM GTABTAB GREENPOINTITEM
301#define TTGREENCIRCLEITEM GTABTAB GREENCIRCLEITEM
302#define TTGREENSQUAREITEM GTABTAB GREENSQUAREITEM
303#define TTGREENARROWITEM GTABTAB GREENARROWITEM
304#define TTREDPOINTITEM GTABTAB REDPOINTITEM
305#define TTREDCIRCLEITEM GTABTAB REDCIRCLEITEM
306#define TTREDSQUAREITEM GTABTAB REDSQUAREITEM
307#define TTREDARROWITEM GTABTAB REDARROWITEM
308
309// Highlight symbols
310
317#define HHL "⏵"
318
325#define HHR "⏴"
326
327#define RSTHHR HHR RST
328#define GREENHHL KGRN HHL
329#define REDHHL KRED HHL
330#define YELLOWHHL KYEL HHL
331#define BOLDWHHL BOLD(HHL)