1 /* Output colorization.
2 Copyright 2011-2015 Free Software Foundation, Inc.
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 3, or (at your option)
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
19 /* Without this pragma, gcc 4.7.0 20120102 suggests that the
20 init_colorize function might be candidate for attribute 'const' */
21 #if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__
22 # pragma GCC diagnostic ignored "-Wsuggest-attribute=const"
34 /* Return non-zero if we should highlight matches in output to file
37 should_colorize (void)
39 char const *t
= getenv ("TERM");
40 return t
&& strcmp (t
, "dumb") != 0;
43 void init_colorize (void) { }
45 /* Start a colorized text attribute on stdout using the SGR_START
46 format; the attribute is specified by SGR_SEQ. */
48 print_start_colorize (char const *sgr_start
, char const *sgr_seq
)
50 printf (sgr_start
, sgr_seq
);
53 /* Restore the normal text attribute using the SGR_END string. */
55 print_end_colorize (char const *sgr_end
)
57 fputs (sgr_end
, stdout
);