guts
Loading...
Searching...
No Matches
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#define GTABX4 GTABTABTAB GTAB
104#define GTABX5 GTABX4 GTAB
105#define GTABX6 GTABX5 GTAB
106#define GTABX7 GTABX6 GTAB
107#define GTABX8 GTABX7 GTAB
108
109// Single tab list items
110#define TPOINTITEM GTAB POINTITEM
111#define TCIRCLEITEM GTAB CIRCLEITEM
112#define TSQUAREITEM GTAB SQUAREITEM
113#define TARROWITEM GTAB ARROWITEM
114#define TGREENPOINTITEM GTAB GREENPOINTITEM
115#define TGREENCIRCLEITEM GTAB GREENCIRCLEITEM
116#define TGREENSQUAREITEM GTAB GREENSQUAREITEM
117#define TGREENARROWITEM GTAB GREENARROWITEM
118#define TREDPOINTITEM GTAB REDPOINTITEM
119#define TREDCIRCLEITEM GTAB REDCIRCLEITEM
120#define TREDSQUAREITEM GTAB REDSQUAREITEM
121#define TREDARROWITEM GTAB REDARROWITEM
122
123// Double tab list items
124#define TTPOINTITEM GTABTAB POINTITEM
125#define TTCIRCLEITEM GTABTAB CIRCLEITEM
126#define TTSQUAREITEM GTABTAB SQUAREITEM
127#define TTARROWITEM GTABTAB ARROWITEM
128#define TTGREENPOINTITEM GTABTAB GREENPOINTITEM
129#define TTGREENCIRCLEITEM GTABTAB GREENCIRCLEITEM
130#define TTGREENSQUAREITEM GTABTAB GREENSQUAREITEM
131#define TTGREENARROWITEM GTABTAB GREENARROWITEM
132#define TTREDPOINTITEM GTABTAB REDPOINTITEM
133#define TTREDCIRCLEITEM GTABTAB REDCIRCLEITEM
134#define TTREDSQUAREITEM GTABTAB REDSQUAREITEM
135#define TTREDARROWITEM GTABTAB REDARROWITEM
136
137// Highlight symbols
138#define HHL "⏵"
139#define HHR "⏴"
140#define RSTHHR HHR RST
141#define GREENHHL KGRN HHL
142#define REDHHL KRED HHL
143#define YELLOWHHL KYEL HHL
144#define BOLDWHHL BOLD(HHL)