Skip to content

Instantly share code, notes, and snippets.

@amad
Created May 30, 2015 18:58
Show Gist options
  • Save amad/4dd81b9619a45e56fa29 to your computer and use it in GitHub Desktop.
Save amad/4dd81b9619a45e56fa29 to your computer and use it in GitHub Desktop.
function fish_prompt
if not set -q -g __fish_robbyrussell_functions_defined
set -g __fish_robbyrussell_functions_defined
function _git_branch_name
echo (git symbolic-ref HEAD ^/dev/null | sed -e 's|^refs/heads/||')
end
function _is_git_dirty
echo (git status -s --ignore-submodules=dirty ^/dev/null)
end
end
set -l cyan (set_color -o cyan)
set -l yellow (set_color -o yellow)
set -l red (set_color -o red)
set -l blue (set_color -o blue)
set -l normal (set_color normal)
set -l arrow "$red➜ "
set -l cwd $cyan(basename (prompt_pwd))
set -l home_escaped (echo -n $HOME | sed 's/\//\\\\\//g')
set -l pwd (echo -n $PWD | sed "s/^$home_escaped/~/" | sed 's/ /%20/g')
if [ (_git_branch_name) ]
set -l git_branch $red(_git_branch_name)
set git_info "$blue git:($git_branch$blue)"
set git_info "$blue ($git_branch$blue)"
if [ (_is_git_dirty) ]
set -l dirty "$yellow"
set git_info "$git_info$dirty"
end
end
echo -n -s $arrow ' '$normal $pwd $git_info $normal ' '
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment