52 lines
2.0 KiB
Markdown
52 lines
2.0 KiB
Markdown
---
|
||
title: "NO_COLOR в Crystal"
|
||
date: 2022-07-26T18:23:31+03:00
|
||
draft: false
|
||
tags: [crystal]
|
||
---
|
||
|
||
В Crystal 1.5.0 появилась поддержка `NO_COLOR`.
|
||
Спасибо [@didactic-drunk](https://github.com/didactic-drunk).
|
||
[Пулл-реквест #11984](https://github.com/crystal-lang/crystal/pull/11984).
|
||
|
||
Чувак реализовал в библиотеке `Colorize` поддержку `NO_COLOR` без лишних телодвижений для разработчика.
|
||
|
||
`NO_COLOR` это вроде движения, стандарт который урегулирует тенденцию добавления
|
||
в утилиты цветного выхлопа в консоль.
|
||
|
||
Сайт проекта — [https://no-color.org/](https://no-color.org/).
|
||
|
||
## Кратко о том, как это работает
|
||
|
||
ПО, которое по умолчанию добавляет цвет ANSI к своим выводам,
|
||
должно проверять наличие переменной среды `NO_COLOR`.
|
||
Если она присутствует, а не является пустой строкой (независимо от ее значения),
|
||
предотвращает добавление цвета ANSI.
|
||
|
||
Приняв этот стандарт, пользователи, предпочитающие вывод обычного,
|
||
неокрашенного текста, могут установить одну переменную среды в своей оболочке,
|
||
чтобы она автоматически влияла на все поддерживаемое ПО.
|
||
|
||
> Яндекс перевод, ага...
|
||
|
||
## Пример
|
||
По умолчанию вывод команды ниже будет пуст.
|
||
|
||
```sh
|
||
printenv | grep NO_COLOR
|
||
```
|
||
|
||
Значение `NO_COLOR` может быть любым, но не пустым.
|
||
|
||
```sh
|
||
export NO_COLOR=1
|
||
printenv | grep NO_COLOR
|
||
NO_COLOR=1
|
||
```
|
||
|
||
## Скриншоты
|
||
|
||
![default](pmng_color.png)
|
||
|
||
![with_no_color](pmng_nocolor.png)
|