Muitas referências on-line costumam falar sobre nomes de cores que não estão definidos no meu sistema
Provavelmente são definidas, mas são cores X11; Era uma vez você poderia encontrá-los /lib[64]/X11/rgb.txt
. De qualquer forma, este é um mapeamento de seqüências de caracteres (por exemplo, dimgray
) para cores RGB de 24 bits (por exemplo , 0xff8800
ou #ff8800
, que seria laranja). Um espaço de 24 bits é de ~ 16 milhões de cores, obviamente o X11 não fornece todos os nomes (CSS 3 usa nomes X11, BTW).
O espaço de 24 bits é usado pela sua GUI; a transparência é implementada aumentando-a para um espaço de 32 bits. No entanto, git
não é uma ferramenta GUI (G = gráfica), é uma ferramenta TUI (T = terminal), e está limitada às cores disponíveis em um terminal normal.
Gostaria de uma solução que funcione para todas as distros, mas principalmente o Debian
Se você deseja que ele seja portável corretamente, confie apenas nas oito cores ANSI padrão :
- Preto
- azul
- verde
- amarelo
- ciano
- branco
- magenta
- vermelho
Um pouco decepcionante ao lado da lista X11, mas melhor do que nada! Eles também possuem uma versão "em negrito" ou "brilhante" que é padrão, produzindo 16 cores, que você pode especificar como, por exemplo, "brightyellow" ( ou , inversamente, "darkyellow").
A maioria dos terminais da GUI 1 possui suporte para 256 cores e alguns aplicativos de terminal podem explorar isso. Para testar, primeiro você precisa definir a $TERM
variável adequadamente:
export $TERM=xterm-256color
Seu emulador de terminal também pode ter uma opção de configuração para isso. As cores sob o protocolo de cores xterm 256 são indexadas:
O número do índice está no canto inferior esquerdo. Observe que o conjunto na parte inferior deste gráfico (0-15) corresponde às 16 cores ANSI básicas (claras e escuras). Para referenciar uma dessas cores sob o padrão, use color
+ o número do índice, por exemplo. color40
.
1. Um "terminal da GUI" é um emulador de terminal executado em um contexto da GUI, como o xterm, o terminal GNOME etc. No entanto, isso não faz com que aplicativos TUI (como o git) sejam executados em um terminal da GUI em aplicativos da GUI. Eles ainda são aplicativos TUI e estão vinculados a esse contexto.