set_color - установка цвета терминала
Описание
set_color [OPTIONS] VALUE
Описание
Команда set_color используется для управления цветом и стилем текста в терминале. VALUE описывает этот стиль. VALUE может быть зарезервированным названием цвета, например, red (красный), или значением цвета RGB, заданным тремя или шестью шестнадцатеричными цифрами («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-битный («true-color») режим даже если запись $TERM сообщает только о 256 цветах. Это относится к современным xterm, терминалам на основе VTE, таким как Gnome Terminal, Konsole и iTerm2.
- Определяет поддержку курсива, тусклого шрифта, инвертирования и других режимов.
Если terminfo сообщает о поддержке 256 цветов для терминала, поддержка 256 цветов всегда будет включена.
Для принудительного включения или выключения поддержки true-color установите fish_term24bit` в «1» для включения и 0 для выключения - set -g fish_term24bit 1.
Для отладки проблем с цветовой палитрой может быть полезно tput colors для просмотра количества цветов в terminfo для терминала. Запуск Fish как fish -d2 включает диагностические сообщения, которые указывают используемый режим поддержки цвета.
Команда set_color использует базу данных terminfo для поиска способа изменения цветов терминала в используемом терминале. Некоторые системы имеют устаревшие и неполные базы данных terminfo и не имеют цветовой информации для терминалов, которые её поддерживают. Fish предполагает, что все терминалы могут использовать последовательности escape [ANSI X3.64](https://en.wikipedia.org/wiki/ANSI_escape_code), если определение в terminfo указывает, что цвет ниже 16 не поддерживается.
© 2022 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.4/cmds/set_color.html