diff options
Diffstat (limited to 'lib/colorize-posix.c')
-rw-r--r-- | lib/colorize-posix.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/lib/colorize-posix.c b/lib/colorize-posix.c new file mode 100644 index 00000000..37bc6400 --- /dev/null +++ b/lib/colorize-posix.c @@ -0,0 +1,52 @@ +/* Output colorization. + Copyright 2011-2012 Free Software Foundation, Inc. + + 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, 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, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA + 02110-1301, USA. */ + +#include <config.h> + +#include "colorize.h" + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +/* Return non-zero if we should highlight matches in output to file + descriptor FD. */ +int +should_colorize (void) +{ + char const *t = getenv ("TERM"); + return t && strcmp (t, "dumb") != 0; +} + +void init_colorize (void) { } + +/* Start a colorized text attribute on stdout using the SGR_START + format; the attribute is specified by SGR_SEQ. */ +void +print_start_colorize (char const *sgr_start, char const *sgr_seq) +{ + printf (sgr_start, sgr_seq); +} + +/* Restore the normal text attribute using the SGR_END string. */ +void +print_end_colorize (char const *sgr_end) +{ + fputs (sgr_end, stdout); +} |