Annotation of embedaddon/readline/colors.h, revision 1.1.1.2

1.1       misho       1: /* `dir', `vdir' and `ls' directory listing programs for GNU.
                      2: 
                      3:    Modified by Chet Ramey for Readline.
                      4: 
1.1.1.2 ! misho       5:    Copyright (C) 1985, 1988, 1990-1991, 1995-2010, 2012, 2015
        !             6:    Free Software Foundation, Inc.
1.1       misho       7: 
                      8:    This program is free software: you can redistribute it and/or modify
                      9:    it under the terms of the GNU General Public License as published by
                     10:    the Free Software Foundation, either version 3 of the License, or
                     11:    (at your option) any later version.
                     12: 
                     13:    This program is distributed in the hope that it will be useful,
                     14:    but WITHOUT ANY WARRANTY; without even the implied warranty of
                     15:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     16:    GNU General Public License for more details.
                     17: 
                     18:    You should have received a copy of the GNU General Public License
                     19:    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
                     20: 
                     21: /* Written by Richard Stallman and David MacKenzie.  */
                     22: 
                     23: /* Color support by Peter Anvin <Peter.Anvin@linux.org> and Dennis
                     24:    Flaherty <dennisf@denix.elk.miles.com> based on original patches by
                     25:    Greg Lee <lee@uhunix.uhcc.hawaii.edu>.  */
                     26: 
                     27: #ifndef _COLORS_H_
                     28: #define _COLORS_H_
                     29: 
                     30: #include <stdio.h> // size_t
                     31: 
                     32: #if defined(__TANDEM) && defined(HAVE_STDBOOL_H) && (__STDC_VERSION__ < 199901L)
                     33: typedef int _Bool;
                     34: #endif
                     35: 
                     36: #if defined (HAVE_STDBOOL_H)
                     37: #  include <stdbool.h> // bool
                     38: #else
                     39: typedef int _rl_bool_t;
                     40: 
                     41: #ifdef bool
                     42: #  undef bool
                     43: #endif
                     44: #define bool _rl_bool_t
                     45: 
                     46: #ifndef true
                     47: #  define true 1
                     48: #  define false 0
                     49: #endif
                     50: 
                     51: #endif /* !HAVE_STDBOOL_H */
                     52: 
                     53: /* Null is a valid character in a color indicator (think about Epson
                     54:    printers, for example) so we have to use a length/buffer string
                     55:    type. */
                     56: struct bin_str
                     57:   {
                     58:     size_t len;
                     59:     const char *string;
                     60:   };
                     61: 
                     62: /* file type indicators (dir, sock, fifo, ...)
                     63:    Default value is initialized in parse-colors.c.
                     64:    It is then modified from the values of $LS_COLORS. */
                     65: extern struct bin_str _rl_color_indicator[];
                     66: 
                     67: /* The LS_COLORS variable is in a termcap-like format. */
                     68: typedef struct _color_ext_type
                     69:   {
                     70:     struct bin_str ext;                /* The extension we're looking for */
                     71:     struct bin_str seq;                /* The sequence to output when we do */
                     72:     struct _color_ext_type *next;      /* Next in list */
                     73:   } COLOR_EXT_TYPE;
                     74: 
                     75: /* file extensions indicators (.txt, .log, .jpg, ...)
                     76:    Values are taken from $LS_COLORS in rl_parse_colors(). */
                     77: extern COLOR_EXT_TYPE *_rl_color_ext_list;
                     78: 
                     79: #define FILETYPE_INDICATORS                            \
                     80:   {                                                    \
                     81:     C_ORPHAN, C_FIFO, C_CHR, C_DIR, C_BLK, C_FILE,     \
                     82:     C_LINK, C_SOCK, C_FILE, C_DIR                      \
                     83:   }
                     84: 
                     85: /* Whether we used any colors in the output so far.  If so, we will
                     86:    need to restore the default color later.  If not, we will need to
                     87:    call prep_non_filename_text before using color for the first time. */
                     88: 
                     89: enum indicator_no
                     90:   {
                     91:     C_LEFT, C_RIGHT, C_END, C_RESET, C_NORM, C_FILE, C_DIR, C_LINK,
                     92:     C_FIFO, C_SOCK,
                     93:     C_BLK, C_CHR, C_MISSING, C_ORPHAN, C_EXEC, C_DOOR, C_SETUID, C_SETGID,
                     94:     C_STICKY, C_OTHER_WRITABLE, C_STICKY_OTHER_WRITABLE, C_CAP, C_MULTIHARDLINK,
                     95:     C_CLR_TO_EOL
                     96:   };
                     97: 
                     98: 
                     99: #if !S_IXUGO
                    100: # define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH)
                    101: #endif
                    102: 
                    103: enum filetype
                    104:   {
                    105:     unknown,
                    106:     fifo,
                    107:     chardev,
                    108:     directory,
                    109:     blockdev,
                    110:     normal,
                    111:     symbolic_link,
                    112:     sock,
                    113:     whiteout,
                    114:     arg_directory
                    115:   };
                    116: 
1.1.1.2 ! misho     117: /* Prefix color, currently same as socket */
        !           118: #define C_PREFIX       C_SOCK
        !           119: 
1.1       misho     120: extern void _rl_put_indicator (const struct bin_str *ind);
                    121: extern void _rl_set_normal_color (void);
1.1.1.2 ! misho     122: extern bool _rl_print_prefix_color (void);
        !           123: extern bool _rl_print_color_indicator (const char *f);
1.1       misho     124: extern void _rl_prep_non_filename_text (void);
                    125: 
                    126: #endif /* !_COLORS_H_ */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>