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или опция gitbash.showInformativeStatusможет быть установлена для включения отображения «информации», которое покажет большое количество информации — количество грязных файлов, не отправленных/не полученных коммитов и многое другое. В больших репозиториях это может занять много времени, поэтому вы можете отключить его в этих репозиториях с помощьюgit config --local bash.showInformativeStatus false. Оно также меняет символы, используемые подсказкой, на менее простые (✚вместо*для состояния «грязный», например), и если вас интересует только это, установите$__fish_git_prompt_use_informative_charsвместо.Поскольку подсчёт отслеживаемых файлов требует много времени, количество отслеживаемых файлов отображается только при включении с помощью
$__fish_git_prompt_showuntrackedfilesили опции gitbash.showUntrackedFiles. -
$__fish_git_prompt_showdirtystateили опция gitbash.showDirtyStateможет быть установлена для отображения, является ли репозиторий «грязным», т.е. содержит несохраненные изменения. -
$__fish_git_prompt_showuntrackedfilesили опция gitbash.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