Spec-Zone.ru › Fish 3.6

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

Синтаксис

fish_git_prompt
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.

Логические опции (те, которые включают или отключают что-либо) понимают «1», «yes» или «true» как истину, а любое другое значение — как ложь.

  • $__fish_git_prompt_show_informative_status или опция git bash.showInformativeStatus можно установить в значение 1, true или yes для включения «информативного» отображения, которое покажет большое количество информации — количество грязных файлов, не отправленных/не полученных коммитов и многое другое. В больших репозиториях это может занять много времени, поэтому вы можете отключить его в этих репозиториях с помощью git config --local bash.showInformativeStatus false. Оно также изменяет символы, используемые в подсказке, на менее простые (✚ вместо * для состояния грязи, например), и если вас интересует только это, установите $__fish_git_prompt_use_informative_chars вместо этого.

    Поскольку подсчёт неотслеживаемых файлов требует много времени, количество неотслеживаемых файлов отображается только при включении с помощью $__fish_git_prompt_showuntrackedfiles или опции git bash.showUntrackedFiles.

  • $__fish_git_prompt_showdirtystate или опция git bash.showDirtyState можно установить в значение 1, true или yes, чтобы показать, является ли репозиторий «грязным», то есть содержит несохранённые изменения.
  • $__fish_git_prompt_showuntrackedfiles или опция git bash.showUntrackedFiles можно установить в значение 1, true или yes, чтобы показать, есть ли в репозитории неотслеживаемые файлы (которые не игнорируются).
  • $__fish_git_prompt_showupstream можно установить в список значений, чтобы определить, как отображать изменения между HEAD и удалённым источником:

    auto

    сводка различий между HEAD и удалённым источником

    verbose

    отображение количества коммитов вперёд/назад (+/-) от удалённого источника

    name

    если verbose, то также отобразить сокращённое имя удалённого источника

    informative

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

    git

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

    svn

    всегда сравнивать HEAD с вашим удалённым источником SVN

    none

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

  • $__fish_git_prompt_showstashstate можно установить в значение 1, true или yes, чтобы отобразить состояние 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 можно установить в значение 1, true или yes, чтобы включить цвет для имени ветки и символов статуса.

Ряд переменных задаёт символы и цвета, используемые в качестве индикаторов. Многие из них имеют другое значение по умолчанию, если используется информативное состояние или установлено $__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 (>, ↑) - символ для коммитов, в которых этот репозиторий опережает удалённый источник
  • $__fish_git_prompt_char_upstream_behind (<, ↓) - символ для коммитов, в которых этот репозиторий отстаёт от удалённого источника
  • $__fish_git_prompt_char_upstream_diverged (<>) - символ, если этот репозиторий одновременно опережает и отстаёт от удалённого источника
  • $__fish_git_prompt_char_upstream_equal (=) - символ, если этот репозиторий равен удалённому источнику
  • $__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_branch_dirty (нет значения по умолчанию) цвет ветки, если она грязная и не отсоединена
  • $__fish_git_prompt_color_branch_staged (нет значения по умолчанию) цвет ветки, если она просто содержит что-то зафиксированное и в остальном чистая
  • $__fish_git_prompt_color_flags (--жирный синий) — цвет по умолчанию для состояний dirty/staged/stashed/untracked

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

См. также 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

© 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/fish_git_prompt.html

Spec-Zone.ru

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