cellar now outputs pretty shit when it detects stdout is a terminal
This commit is contained in:
@@ -34,6 +34,7 @@ void cellar::print_header() {
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
output::detect_colors();
|
||||
if (argc == 1) {
|
||||
print_header();
|
||||
cout << "\n(try \"cellar help\" if you're confused)" << endl;
|
||||
|
@@ -1,14 +1,55 @@
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "ansicol.hpp"
|
||||
#include "output.hpp"
|
||||
|
||||
void cellar::output::statement(std::string str_message) {
|
||||
std::cout << "* " << str_message << std::endl;
|
||||
using namespace std;
|
||||
using namespace cellar::output;
|
||||
|
||||
bool cellar::output::colors;
|
||||
|
||||
void cellar::output::detect_colors() {
|
||||
int tty = isatty(fileno(stdout));
|
||||
|
||||
if (tty == 1) {
|
||||
colors = true;
|
||||
} else {
|
||||
colors = false;
|
||||
}
|
||||
}
|
||||
void cellar::output::warning(std::string str_message) {
|
||||
std::cerr << "* " << str_message << std::endl;
|
||||
|
||||
void cellar::output::statement(string str_message) {
|
||||
if (colors) {
|
||||
cout << ansicol::green << " >";
|
||||
cout << ansicol::green_bold << "> ";
|
||||
cout << ansicol::reset;
|
||||
} else {
|
||||
cout << "STAT ";
|
||||
}
|
||||
|
||||
cout << str_message << endl;
|
||||
}
|
||||
void cellar::output::error(std::string str_message) {
|
||||
std::cerr << "* " << str_message << std::endl;
|
||||
void cellar::output::warning(string str_message) {
|
||||
if (colors) {
|
||||
cerr << ansicol::yellow << " >";
|
||||
cerr << ansicol::yellow_bold << "> ";
|
||||
cerr << ansicol::reset;
|
||||
} else {
|
||||
cerr << "WARN ";
|
||||
}
|
||||
|
||||
cerr << str_message << endl;
|
||||
}
|
||||
void cellar::output::error(string str_message) {
|
||||
if (colors) {
|
||||
cerr << ansicol::red << " >";
|
||||
cerr << ansicol::red_bold << "> ";
|
||||
cerr << ansicol::reset;
|
||||
} else {
|
||||
cerr << "ERR! ";
|
||||
}
|
||||
|
||||
cerr << str_message << endl;
|
||||
}
|
||||
|
Reference in New Issue
Block a user