Muchas referencias en línea a menudo hablan de nombres de colores que no están definidos en mi sistema
Es probable que estén definidos, pero son colores X11; Érase una vez que pudiste encontrarlos /lib[64]/X11/rgb.txt
. En cualquier caso, este es un mapeo de cadenas (por ejemplo, dimgray
) a colores RGB de 24 bits (por ejemplo , 0xff8800
o #ff8800
, que sería naranja). Un espacio de 24 bits es ~ 16 millones de colores, obviamente X11 no les da todos los nombres (CSS 3 usa nombres X11, por cierto).
El espacio de 24 bits es utilizado por su GUI; La transparencia se implementa aumentando esto a un espacio de 32 bits. Sin embargo, git
no es una herramienta GUI (G = gráfica), es una herramienta TUI (T = terminal), y está limitada a los colores disponibles en un terminal normal.
Me gustaría una solución que funcione para todas las distribuciones, pero principalmente Debian
Si desea que esto sea correctamente portátil, debe confiar solo en los ocho colores ANSI estándar :
- negro
- azul
- verde
- amarillo
- cian
- blanco
- magenta
- rojo
Un poco decepcionante al lado de la lista X11, ¡pero mejor que nada! También tienen una versión "negrita" o "brillante" que es estándar, con 16 colores, que puede especificar como, por ejemplo, "amarillo brillante" ( o por el contrario, "amarillo oscuro").
La mayoría de los terminales 1 de la GUI tienen 256 colores y algunas aplicaciones de terminal pueden explotar esto. Para probar, primero debe establecer la $TERM
variable de manera adecuada:
export $TERM=xterm-256color
Su emulador de terminal también puede tener una opción de configuración para esto. Los colores bajo el protocolo de color xterm 256 están indexados:
El número de índice está en la esquina inferior izquierda. Observe que el conjunto en la parte inferior de este cuadro (0-15) son los 16 colores ANSI básicos (brillantes y oscuros). Para hacer referencia a uno de estos colores bajo el estándar, use color
+ el número de índice, por ejemplo. color40
.
1. Un "terminal GUI" es un emulador de terminal que se ejecuta en un contexto GUI, como xterm, el terminal GNOME, etc. Sin embargo, esto no hace que las aplicaciones TUI (como git) se ejecuten en un terminal GUI en aplicaciones GUI. Todavía son aplicaciones TUI y están vinculadas por ese contexto.