From a9e3be7618cfc46657e6341768530035e7f0e6dd Mon Sep 17 00:00:00 2001 From: Daniel Salzman <daniel.salzman@nic.cz> Date: Tue, 17 Aug 2021 13:36:42 +0200 Subject: [PATCH] contrib: add macros for terminal colors --- Knot.files | 1 + src/contrib/Makefile.inc | 1 + src/contrib/color.h | 31 +++++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 src/contrib/color.h diff --git a/Knot.files b/Knot.files index ae886df4e0..60cab572ba 100644 --- a/Knot.files +++ b/Knot.files @@ -5,6 +5,7 @@ src/contrib/base64.c src/contrib/base64.h src/contrib/base64url.c src/contrib/base64url.h +src/contrib/color.h src/contrib/ctype.h src/contrib/dnstap/convert.c src/contrib/dnstap/convert.h diff --git a/src/contrib/Makefile.inc b/src/contrib/Makefile.inc index 61126b83fb..b7aaecbd47 100644 --- a/src/contrib/Makefile.inc +++ b/src/contrib/Makefile.inc @@ -29,6 +29,7 @@ libcontrib_la_SOURCES = \ contrib/base64.h \ contrib/base64url.c \ contrib/base64url.h \ + contrib/color.h \ contrib/ctype.h \ contrib/files.c \ contrib/files.h \ diff --git a/src/contrib/color.h b/src/contrib/color.h new file mode 100644 index 0000000000..6a7ff6ac4b --- /dev/null +++ b/src/contrib/color.h @@ -0,0 +1,31 @@ +/* Copyright (C) 2021 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +#pragma once + +#define COL_RST(active) ((active) ? "\x1B[0m" : "") + +#define COL_BOLD(active) ((active) ? "\x1B[1m" : "") +#define COL_DIM(active) ((active) ? "\x1B[2m" : "") +#define COL_UNDR(active) ((active) ? "\x1B[4m" : "") + +#define COL_RED(active) ((active) ? "\x1B[31m" : "") +#define COL_GRN(active) ((active) ? "\x1B[32m" : "") +#define COL_YELW(active) ((active) ? "\x1B[93m" : "") +#define COL_BLUE(active) ((active) ? "\x1B[34m" : "") +#define COL_MGNT(active) ((active) ? "\x1B[35m" : "") +#define COL_CYAN(active) ((active) ? "\x1B[36m" : "") +#define COL_WHIT(active) ((active) ? "\x1B[97m" : "") -- GitLab