44 lines
1.7 KiB
Fish
44 lines
1.7 KiB
Fish
function fish_prompt
|
||
# Сохраняем код последней выполненной команды
|
||
set -l last_status $status
|
||
|
||
# --- Левая (черная) часть ---
|
||
# Устанавливаем черный фон и белый цвет текста
|
||
set_color -b black white
|
||
# Выводим текущую директорию. prompt_pwd - это встроенная функция fish для сокращенного пути
|
||
echo -n ' '(prompt_pwd)' '
|
||
|
||
# --- Разделитель и правая (белая) часть ---
|
||
# Используем символ powerline для плавного перехода
|
||
set_color -b white black
|
||
echo -n '' # Символ-разделитель
|
||
|
||
# Получаем информацию о Git
|
||
set -l git_info (fish_git_prompt)
|
||
|
||
# Если мы находимся в Git-репозитории, отображаем информацию
|
||
if test -n "$git_info"
|
||
# Устанавливаем белый фон и черный цвет текста
|
||
set_color -b white black
|
||
echo -n $git_info' '
|
||
set_color -b normal # Сбрасываем фон
|
||
echo -n ' '
|
||
else
|
||
# Если не в репозитории, просто завершаем белую часть
|
||
set_color -b normal
|
||
echo -n ' '
|
||
|
||
|
||
# --- Завершение командной строки ---
|
||
# Возвращаем стандартные цвета
|
||
set_color normal
|
||
|
||
# Отображаем символ '>' красным цветом, если последняя команда завершилась с ошибкой
|
||
if test $last_status -ne 0
|
||
set_color red
|
||
end
|
||
echo -n '> '
|
||
set_color normal
|
||
end
|
||
end
|