Spec-Zone.ru › Fish 3.5

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.

  • $__fish_git_prompt_show_informative_status или опция git bash.showInformativeStatus может быть установлена для включения отображения «информации», которое покажет большое количество информации — количество грязных файлов, не отправленных/не полученных коммитов и многое другое. В больших репозиториях это может занять много времени, поэтому вы можете отключить его в этих репозиториях с помощью 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 может быть установлена для отображения, является ли репозиторий «грязным», т.е. содержит несохраненные изменения.
  • $__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 - цвет при выполнении слияния/перебазирования/отката/бисекции или применения изменений
  • $__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_branch_dirty (значение по умолчанию отсутствует) цвет ветви, если она грязная и не откреплена
  • $__fish_git_prompt_color_branch_staged (значение по умолчанию отсутствует) цвет ветви, если она только имеет что-то в индексе и в остальном чистая
  • $__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

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

Spec-Zone.ru

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