feat: Implement colored output (with `NO_COLOR` support)

Aberta
#145 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
50/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
rust
Domínio
cli

Direção de pesquisa

Comece em rust/stackablectl/src/main.rs ao redor do método pretty indicado e compare se tracing_subscriber::fmt deve cuidar da detecção do terminal. Execute os comandos stackablectl listados com a saída redirecionada e canalizada, incluindo um TERM vazio, e confirme que a saída não interativa não contém sequências de escape, enquanto a saída de terminais compatíveis permanece colorida e NO_COLOR é respeitado.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Colours sould only be enabled when the terminal supports them.
For example, when redirecting output or piping to cat, there should be no escape sequences.

I believe there needs to be a condition around the pretty method (or maybe it should be handled by tracing_subscriber::fmt):

https://github.com/stackabletech/stackable-cockpit/blob/fe37d494359d91e32ae309a9f6d382b4a486c5a0/rust/stackablectl/src/main.rs#L31

Examples:

stackablectl --log-level=DEBUG stack list > /tmp/stackablectl.stdout       # plain redirect
stackablectl --log-level=DEBUG stack list | cat > /tmp/stackablectl.stdout # pipe through cat
TERM= stackablectl --log-level=DEBUG stack list > /tmp/stackablectl.stdout # explicitly set TERM to nothing

If I open it in VIM, it looks like this:

image

Linguagem predominante
Rust
Estrelas
10
Forks
5
Merge médio
4h 41min
PRs com merge (30d)
4

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de stackabletech/stackablectl

Todas as issues de stackabletech/stackablectl

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.