po: Update German man pages translation
[dpkg.git] / lib / dpkg / color.h
blob29f535950f99aacdeb621c6c2731b740087d634d
1 /*
2 * libdpkg - Debian packaging suite library routines
3 * color.h - color support
5 * Copyright © 2015-2016 Guillem Jover <guillem@debian.org>
7 * This is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <https://www.gnu.org/licenses/>.
21 #ifndef LIBDPKG_COLOR_H
22 #define LIBDPKG_COLOR_H
24 #include <stdbool.h>
26 #include <dpkg/macros.h>
28 DPKG_BEGIN_DECLS
30 /**
31 * @defgroup color Color support
32 * @ingroup dpkg-internal
33 * @{
36 /* Standard ANSI colors and attributes. */
37 #define COLOR_NORMAL ""
38 #define COLOR_RESET "\e[0m"
39 #define COLOR_BOLD "\e[1m"
40 #define COLOR_BLACK "\e[30m"
41 #define COLOR_RED "\e[31m"
42 #define COLOR_GREEN "\e[32m"
43 #define COLOR_YELLOW "\e[33m"
44 #define COLOR_BLUE "\e[34m"
45 #define COLOR_MAGENTA "\e[35m"
46 #define COLOR_CYAN "\e[36m"
47 #define COLOR_WHITE "\e[37m"
48 #define COLOR_BOLD_BLACK "\e[1;30m"
49 #define COLOR_BOLD_RED "\e[1;31m"
50 #define COLOR_BOLD_GREEN "\e[1;32m"
51 #define COLOR_BOLD_YELLOW "\e[1;33m"
52 #define COLOR_BOLD_BLUE "\e[1;34m"
53 #define COLOR_BOLD_MAGENTA "\e[1;35m"
54 #define COLOR_BOLD_CYAN "\e[1;36m"
55 #define COLOR_BOLD_WHITE "\e[1;37m"
57 /* Current defaults. These might become configurable in the future. */
58 #define COLOR_PROG COLOR_BOLD
59 #define COLOR_INFO COLOR_GREEN
60 #define COLOR_NOTICE COLOR_YELLOW
61 #define COLOR_WARN COLOR_BOLD_YELLOW
62 #define COLOR_ERROR COLOR_BOLD_RED
64 enum color_mode {
65 COLOR_MODE_UNKNOWN = -1,
66 COLOR_MODE_NEVER,
67 COLOR_MODE_ALWAYS,
68 COLOR_MODE_AUTO,
71 bool
72 color_set_mode(const char *mode);
74 const char *
75 color_get(const char *color);
77 static inline const char *
78 color_reset(void)
80 return color_get(COLOR_RESET);
83 /** @} */
85 DPKG_END_DECLS
87 #endif /* LIBDPKG_COLOR_H */