DEV Community

Cover image for Obtenha a Sintaxe de uma Cor Hexadecimal para o Terminal (ANSI RGB)
Marcos Oliveira
Marcos Oliveira

Posted on

Obtenha a Sintaxe de uma Cor Hexadecimal para o Terminal (ANSI RGB)

🎨 Para copiar facilmente a sintaxe e utilizar rapidamente.


Eu tenho costume de criar vários aplicativos cli e TUI que usam bastante recursos de cores ANSI para o terminal. Geralmente preciso escolher a cor no GIMP ou no rgb-tui e depois montar e testar pra ver como ficará.

Pensando em automatizar essa etapa de um desenvolvimento, crie o hexter, pois com ele eu obtenha a sintaxe de uma cor hexadecimal para o terminal (ANSI RGB) de forma rápida e fácil.

E resolvi criar um utilitário via linha de comando e também uma API para integrar aos meus projetos. E decidi disponibiilizar para quem tiver interesse.


📥 Instalação

O hexter foi criado com C++, logo para construir e instalar você precisa ter instalado no seu sistema:

Depois é só clonar, construir e instalar:

git clone https://github.com/terroo/hexter
cd hexter
cmake . -B build
cmake --build build
sudo cmake --install build
Enter fullscreen mode Exit fullscreen mode

⚙️ Utilização

O uso é simples e intuitivo, basta rodar o comando hexter e informar a cor em hexadecimal com os sem tralha(#):

Quando usar com tralha, proteja a cor entre as duplas ou simples.

hexter '#a6e22e'
hexter fd6389
Enter fullscreen mode Exit fullscreen mode

Se tiver um arquivo com seu tema de cores basta fazer um loop e onter todas de uma só vez, exemplo:

cat theme.txt

#121212
#3a3b3f
#5f5f5f
#afafaf
#eeeeee
#ffffff
#d7d7ff
#7cdce7
#84afd7
#d7af87
#2ec27e
#fd6389

for i in $(cat theme.txt); do hexter "$i"; done
Enter fullscreen mode Exit fullscreen mode

Saída:

Todas as cores hexter

Esse é o tema
sobrio


🔠 Use a API

Você também pode usar a API facilmente para obter a cor hexadecimal basta incluir o cabeçalho e usar hexter::color, ainda há a hexter::off para desligar uma cor, exemplo:

#include <print>
#include "hexter-color.hpp"

int main(){
  std::println("{}Hello, World!{}", hexter::color("#84afd7"), hexter::off);
}
Enter fullscreen mode Exit fullscreen mode

Se quiser instalar a API para incluir mais facilmente direto no seu sistema, rode, por exemplo:

sudo wget -q \
  https://raw.githubusercontent.com/terroo/hexter/refs/heads/main/hexter-color.hpp \
  -O /usr/local/include/hexter-color.hpp
Enter fullscreen mode Exit fullscreen mode

E basta usar assim: #include <hexter-color.hpp>, pois é um header-only.


Para mais informações, enviar PR e/ou relatar issues, acesse o repositório: https://github.com/terroo/hexter.

Top comments (0)