Last active
March 3, 2021 07:42
-
-
Save d/ec1db86cc8f40fe85539 to your computer and use it in GitHub Desktop.
fish_prompt with git branch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set -x GIT_EDITOR "mvim -f" | |
# until fish 2.2, we'll have to do this | |
set PATH (brew --prefix)/bin $PATH | |
complete -f -c git -n '__fish_git_using_command pull' -l ff-only -d 'Refuse to merge unless fast-forward possible' | |
complete -f -c git -n '__fish_git_using_command pull' -l rebase -d 'Rebase instead of merge' | |
complete -c git -n '__fish_git_using_command commit' -s v -l verbose -d 'Show diff in commit message template' | |
complete -c git -n '__fish_git_using_command commit' -s a -l all -d 'Commit all changed files' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Set the default prompt command. Make sure that every terminal escape | |
# string has a newline before and after, so that fish will know how | |
# long it is. | |
# Fish git prompt | |
set __fish_git_prompt_showdirtystate 'yes' | |
set __fish_git_prompt_showstashstate 'yes' | |
set __fish_git_prompt_showupstream 'yes' | |
set __fish_git_prompt_color_branch yellow | |
# Status Chars | |
set __fish_git_prompt_char_dirtystate '⚡' | |
set __fish_git_prompt_char_stagedstate '→' | |
set __fish_git_prompt_char_stashstate '↩' | |
set __fish_git_prompt_char_upstream_ahead '↑' | |
set __fish_git_prompt_char_upstream_behind '↓' | |
function fish_prompt --description "Write out the prompt" | |
# Just calculate these once, to save a few cycles when displaying the prompt | |
if not set -q __fish_prompt_hostname | |
set -g __fish_prompt_hostname (hostname|cut -d . -f 1) | |
end | |
if not set -q __fish_prompt_normal | |
set -g __fish_prompt_normal (set_color normal) | |
end | |
switch $USER | |
case root | |
if not set -q __fish_prompt_cwd | |
if set -q fish_color_cwd_root | |
set -g __fish_prompt_cwd (set_color $fish_color_cwd_root) | |
else | |
set -g __fish_prompt_cwd (set_color $fish_color_cwd) | |
end | |
end | |
echo -n -s "$USER" @ "$__fish_prompt_hostname" ' ' "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" '# ' | |
case '*' | |
if not set -q __fish_prompt_cwd | |
set -g __fish_prompt_cwd (set_color $fish_color_cwd) | |
end | |
echo -n -s "$__fish_prompt_hostname" ' ' "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" (__fish_git_prompt) '> ' | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks for this!