Spec-Zone.ru › Fish 3.2

fish_git_prompt - вывод информации о git для использования в приглашении

Резюме

function fish_prompt
     printf '%s' $PWD (fish_git_prompt) ' $ '
end

Описание

Функция fish_git_prompt отображает информацию о текущей репозитории git, если таковая имеется.

Git должен быть установлен.

Существует множество опций настройки, которые можно контролировать с помощью опций git или переменных оболочки fish. Опции git, где доступны, имеют приоритет над переменной оболочки fish с той же функцией. Опции git могут быть настроены для каждой репозитории или глобально. Опции git можно установить с помощью команды git config, а переменные оболочки fish можно установить как обычно с помощью команды set.

  • $__fish_git_prompt_show_informative_status или опция git bash.showInformativeStatus могут быть установлены для включения отображения «информативного» типа, которое покажет большое количество информации — количество не отслеживаемых файлов, изменённых файлов, не отправленных/не полученных коммитов и др. В больших репозиториях это может занять много времени, поэтому вы можете отключить его в этих репозиториях с помощью git config --local bash.showInformativeStatus false. Это также изменяет символы, используемые в приглашении, на менее простые (✚ вместо * для состояния «изменён» например), и если вас интересует только это, установите $__fish_git_prompt_use_informative_chars вместо этого.
  • $__fish_git_prompt_showdirtystate или опция git bash.showDirtyState могут быть установлены для отображения, является ли репозиторий «изменённым», т.е. содержит ли он несохранённые изменения.
  • $__fish_git_prompt_showuntrackedfiles или опция git bash.showUntrackedFiles могут быть установлены для отображения, есть ли в репозитории неотслеживаемые файлы (которые не игнорируются).
  • $__fish_git_prompt_showupstream может быть установлено в список значений, чтобы определить, как отображаются изменения между HEAD и upstream:

    auto

    сводка различий между HEAD и его upstream

    verbose

    отображение количества коммитов опережающих/отстающих от upstream (+/-)

    name

    если verbose, то также отображается сокращенное имя upstream

    informative

    аналогично verbose, но ничего не отображается при равенстве — это значение по умолчанию, если включено информативное состояние.

    git

    всегда сравнивать HEAD с @{upstream}

    svn

    всегда сравнивать HEAD с вашим SVN upstream

    none

    отключает (полезно с информативным состоянием)

  • $__fish_git_prompt_showstashstate может быть установлено для отображения состояния stash.
  • $__fish_git_prompt_shorten_branch_len может быть установлено в число символов, до которого будет сокращено имя ветви.
  • $__fish_git_prompt_describe_style может быть установлено в один из следующих стилей, чтобы описать текущий HEAD:

    contains

    относительно более новой помеченной метки, например (v1.6.3.2~35)

    branch

    относительно более новой метки или ветви, например (master~4)

    describe

    относительно более старой помеченной метки, например (v1.6.3.1-13-gdd42c2f)

    default

    точно совпадающая метка ((develop))

    Если ни одно из этих условий не выполняется, используется сокращенный до 8 символов SHA коммита.

  • $__fish_git_prompt_showcolorhints может быть установлено для включения форматирования по цветам для имени ветви и символов состояния.

Ряд переменных устанавливает символы и цвета, используемые в качестве индикаторов. Многие из них имеют другое значение по умолчанию, если используется информативное состояние или установлено $__fish_git_prompt_use_informative_chars. Обычное значение по умолчанию приводится первым, затем информативное значение по умолчанию (если оно отличается). Если для цветов нет значения по умолчанию, они по умолчанию имеют значение $__fish_git_prompt_color.

  • $__fish_git_prompt_char_stateseparator (' ', |) - символ, используемый между символами состояния
  • $__fish_git_prompt_color (нет значения по умолчанию)
  • $__fish_git_prompt_color_prefix - цвет префикса (
  • $__fish_git_prompt_color_suffix - цвет суффикса )
  • $__fish_git_prompt_color_bare - цвет для голой репозитории — без рабочей области
  • $__fish_git_prompt_color_merging - цвет, когда выполняется слияние/перебазирование/отмена/бисекция или cherry-pick

Некоторые переменные используются только в некоторых режимах, например, когда включено информативное состояние:

  • $__fish_git_prompt_char_cleanstate (✔) - символ, используемый, когда ничего больше не применимо
  • $__fish_git_prompt_color_cleanstate

Переменные, используемые с showdirtystate:

  • $__fish_git_prompt_char_dirtystate (*, ✚) - количество «изменённых» изменений, т.е. файлов с изменениями, которые не добавлены в индекс
  • $__fish_git_prompt_char_invalidstate (#, ✖) - количество «неслитых» изменений, например дополнительных изменений в уже добавленных файлах
  • $__fish_git_prompt_char_stagedstate (+, ●) - количество файлов в индексе без дополнительных изменений
  • $__fish_git_prompt_color_dirtystate (красный при showcolorhints, такое же, как color_flags в противном случае)
  • $__fish_git_prompt_color_invalidstate
  • $__fish_git_prompt_color_stagedstate (зеленый при showcolorhints, color_flags в противном случае)

Переменные, используемые с showstashstate:

  • $__fish_git_prompt_char_stashstate ($, ⚑)
  • $__fish_git_prompt_color_stashstate (такое же, как color_flags)

Переменные, используемые с showuntrackedfiles:

  • $__fish_git_prompt_char_untrackedfiles (%, …) - символ для неотслеживаемых файлов
  • $__fish_git_prompt_color_untrackedfiles (такое же, как color_flags)

Переменные, используемые с showupstream (также подразумеваются информативным состоянием):

  • $__fish_git_prompt_char_upstream_ahead (>, ↑) - символ для коммитов, на которые эта репозитория опережает upstream
  • $__fish_git_prompt_char_upstream_behind (<, ↓) - символ для коммитов, на которые эта репозитория отстает от upstream
  • $__fish_git_prompt_char_upstream_diverged (<>) - символ, если эта репозитория опережает и отстает от upstream
  • $__fish_git_prompt_char_upstream_equal (=) - символ, если эта репозитория равна upstream
  • $__fish_git_prompt_char_upstream_prefix ('')
  • $__fish_git_prompt_color_upstream

Цвета, используемые с showcolorhints:

  • $__fish_git_prompt_color_branch (зеленый) - цвет ветви
  • $__fish_git_prompt_color_branch_detached (красный) цвет ветви, если она отсоединённая (например, коммит оформлен для проверки)
  • $__fish_git_prompt_color_flags (--полужирный синий) - цвет по умолчанию для состояния изменённых/подготовленных/сохранённых/неотслеживаемых файлов

Обратите внимание, что все цвета также могут иметь соответствующий цвет _done. Например, содержимое $__fish_git_prompt_color_upstream_done печатается сразу _после_ upstream.

См. также fish_vcs_prompt, который вызовет все поддерживаемые функции командной строки системы контроля версий, включая git, Mercurial и Subversion.

Пример

Простое приглашение, отображающее информацию о git:

function fish_prompt
    # ...
    set -g __fish_git_prompt_showupstream auto
    printf '%s %s$' $PWD (fish_git_prompt)
end

© 2020 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.2/cmds/fish_git_prompt.html

Spec-Zone.ru

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