#ifndef wasm_pretty_printing_h
#define wasm_pretty_printing_h
#include <ostream>
#include "support/colors.h"
inline std::ostream& doIndent(std::ostream& o, unsigned indent) {
for (unsigned i = 0; i < indent; i++) {
o << " ";
}
return o;
}
inline std::ostream& prepareMajorColor(std::ostream& o) {
Colors::red(o);
Colors::bold(o);
return o;
}
inline std::ostream& prepareColor(std::ostream& o) {
Colors::magenta(o);
Colors::bold(o);
return o;
}
inline std::ostream& prepareMinorColor(std::ostream& o) {
Colors::orange(o);
return o;
}
inline std::ostream& restoreNormalColor(std::ostream& o) {
Colors::normal(o);
return o;
}
inline std::ostream& printText(std::ostream& o, const char* str) {
o << '"';
Colors::green(o);
o << str;
Colors::normal(o);
return o << '"';
}
inline std::ostream&
printMajor(std::ostream& o, const char* str, bool major = false) {
prepareMajorColor(o);
o << str;
restoreNormalColor(o);
return o;
}
inline std::ostream&
printMedium(std::ostream& o, const char* str, bool major = false) {
prepareColor(o);
o << str;
restoreNormalColor(o);
return o;
}
inline std::ostream& printMinor(std::ostream& o, const char* str) {
prepareMinorColor(o);
o << str;
restoreNormalColor(o);
return o;
}
#endif