set_color - установка цвета терминала
Синтаксис
set_color [OPTIONS] VALUE
Описание
set_color используется для управления цветом и стилем текста в терминале. ЗНАЧЕНИЕ описывает этот стиль. ЗНАЧЕНИЕ может быть зарезервированным именем цвета, например, красным, или значением цвета 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 сбросит цвет переднего и заднего плана и всё форматирование до значений по умолчанию.
Примечания
- Использование ключевого слова normal сбросит и цвет фона, и цвет текста до значений по умолчанию для терминала.
- Установка цвета фона влияет только на символы, написанные после нее. Fish не предоставляет способ установки цвета фона для всего окна терминала. Настройка цвета фона окна (и других атрибутов, таких как его непрозрачность) должна выполняться с помощью механизмов, предоставляемых терминалом. Ищите параметр конфигурации.
- Некоторые терминалы используют последовательность escape
--boldдля переключения на набор более ярких цветов вместо увеличения веса текста. -
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.6/cmds/set_color.html