Я видел скриншот zsh, настроенного для подсказки с другим цветом и фоном, и он выглядит как очень полезная настройка:

Я видел скриншот zsh, настроенного для подсказки с другим цветом и фоном, и он выглядит как очень полезная настройка:

Sammyg был прав, что set_color - это то, что вы ищете. Хитрость в том, что один вызов set_color не окрашивает указанный блок текста, а устанавливает цвет, который будет печатать весь последующий текст. Флаг -b устанавливает цвет фона. Вот простая функция, которая даст вам эффект, аналогичный приглашению zsh (поместите его в каталог fish/functions ):
function fish_prompt
set -l textcol white
set -l bgcol blue
set -l arrowcol green
set_color $textcol -b $bgcol
echo -n " "(basename $PWD)" "
set_color $arrowcol -b normal
echo -n "⮀ "
end
Обратите внимание, что вам не нужно явно сбрасывать цвета после рисования приглашения, fish сделают это автоматически.