Spec-Zone.ru › Fish 3.7

set_color - установка цвета терминала

Синтаксис

set_color [OPTIONS] VALUE

Описание

set_color используется для управления цветом и стилем текста в терминале. ЗНАЧЕНИЕ описывает этот стиль. ЗНАЧЕНИЕ может быть зарезервированным названием цвета, например, red (красный), или значением цвета RGB, заданным в виде 3 или 6 шестнадцатеричных цифр (“F27” или “FF2277”). Специальное ключевое слово normal сбрасывает форматирование текста до значений по умолчанию терминала.

Допустимые цвета включают:

  • черный, красный, зеленый, желтый, синий, пурпурный, голубой, белый
  • светло-черный, светло-красный, светло-зеленый, светло-желтый, светло-синий, светло-пурпурный, светло-голубой, светло-белый

Формы с префиксом br (как в «bright») представляют собой варианты с полной яркостью 8 стандартных цветов с низкой яркостью на многих терминалах. светло-черный имеет большую яркость, чем черный — в сторону серого.

Можно использовать значение RGB с тремя или шестью шестнадцатеричными цифрами, например, A0FF33 или f2f. Fish выберет ближайший поддерживаемый цвет. Значение из трех цифр эквивалентно указанию каждой цифры дважды; например, set_color 2BC эквивалентно set_color 22BBCC. Шестнадцатеричные значения RGB могут быть в нижнем или верхнем регистре. В зависимости от возможностей вашего терминала (и уровня поддержки set_color для него) фактический цвет может быть приближен к ближайшему соответствующему зарезервированному имени цвета, или set_color может не повлиять на цвет.

Второй цвет может быть задан как желаемый резервный цвет. Например, set_color 124212 brblue указывает set_color использовать светло-синий, если терминал не способен отобразить точно заданный оттенок серого. Это очень полезно, когда 8- или 16-цветный терминал иначе не может использовать цвет.

Доступны следующие параметры:

-b или --background ЦВЕТ

Устанавливает цвет фона.

-c или --print-colors

Выводит заданные цвета или цветной список 16 именованных цветов.

-o или --bold

Устанавливает режим полужирного шрифта.

-d или --dim

Устанавливает режим слабого шрифта.

-i или --italics

Устанавливает режим курсива.

-r или --reverse

Устанавливает режим инвертирования.

-u или --underline

Устанавливает режим подчеркивания.

-h или --help

Отображает справку по использованию этой команды.

Использование ключевого слова normal сбросит цвет переднего и заднего плана и всё форматирование до значений по умолчанию.

Примечания

  1. Использование ключевого слова normal сбросит цвета фона и переднего плана до значений по умолчанию для терминала.
  2. Установка цвета фона влияет только на последующие выводимые символы. Fish не предоставляет способ установки цвета фона для всего окна терминала. Настройка цвета фона окна (и других атрибутов, таких как его непрозрачность) должна выполняться с помощью механизмов, предоставляемых терминалом. Поищите соответствующий параметр конфигурации.
  3. Некоторые терминалы используют последовательность escape --bold для переключения на набор более ярких цветов вместо увеличения веса текста.
  4. set_color работает путём вывода последовательностей символов в стандартный вывод. Если используется в подстановке команд или в пайпе, эти символы также будут захвачены. Это может быть или не быть желательным. Проверка возвращаемого кода isatty stdout перед использованием set_color может быть полезной для принятия решения о том, следует ли подкрашивать вывод в скрипте.

Примеры

set_color red; echo "Roses are red"
set_color blue; echo "Violets are blue"
set_color 62A; echo "Eggplants are dark purple"
set_color normal; echo "Normal is nice" # Resets the background too

Обнаружение возможностей терминала

Fish использует некоторые эвристические методы для определения того, какие цвета поддерживает терминал, чтобы избежать отправки последовательностей, которые он не поймёт.

В частности, он будет:

  • Включать 256 цветов, если TERM содержит «xterm», за исключением известных исключений (например, MacOS 10.6 Terminal.app)
  • Включать 24-битный («полноцветный») даже если запись $TERM сообщает только о 256 цветах. Это включает современные xterm, терминалы на основе VTE, такие как Gnome Terminal, Konsole и iTerm2.
  • Определять поддержку курсива, слабого шрифта, инвертирования и других режимов.

Если terminfo сообщает о поддержке 256 цветов для терминала, поддержка 256 цветов всегда будет включена.

Чтобы принудительно включить или выключить поддержку истинно цветного режима, установите fish_term24bit в «1» для включения и 0 для выключения - set -g fish_term24bit 1.

Для отладки проблем с цветовой палитрой tput colors может быть полезен для просмотра количества цветов в terminfo для терминала. Fish, запущенный как fish -d term_support будет включать диагностические сообщения, указывающие используемый режим поддержки цвета.

Команда set_color использует базу данных terminfo, чтобы узнать, как изменить цвета терминала на используемом терминале. Некоторые системы имеют старые и неполные базы данных terminfo и не содержат цветовой информации для терминалов, которые ее поддерживают. Fish предполагает, что все терминалы могут использовать последовательности escape [ANSI X3.64](https://en.wikipedia.org/wiki/ANSI_escape_code), если определение terminfo указывает, что цвет ниже 16 не поддерживается.

© 2005-2009 Axel Liljencrantz, 2009-2023 fish-shell contributors
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.7/cmds/set_color.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API