---
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)
