diff --git a/src/console.cpp b/src/console.cpp index c685541..99472f3 100644 --- a/src/console.cpp +++ b/src/console.cpp @@ -21,10 +21,28 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ +#include +#include "core/isatty.h" #include "console.h" namespace eoskeygen { namespace console { bool disable_color = false; +FILE* _getFileFromStream(const std::ostream& os) { + + if (&os == &std::cout) { + return stdout; + } else if (&os == &std::cerr) { + return stderr; + } + return NULL; +} + +bool isColorsSupported(const std::ostream& os) { + + FILE* fd = _getFileFromStream(os); + return disable_color == false && isatty(fd); +} + } } // namespace eoskeygen::console diff --git a/src/console.h b/src/console.h index bd7f0fd..65da9aa 100644 --- a/src/console.h +++ b/src/console.h @@ -63,6 +63,8 @@ namespace console { italic }; + bool isColorsSupported(const std::ostream& os); + // Resets all colors/attributes std::ostream& reset(std::ostream& os);