Comecei a usar peixes hoje e estou adorando. Demorou um pouco para transferir minha configuração de prompt do zsh, mas finalmente consegui descobrir:
coloque isso em seu ~ / .config / fish / fish.config
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
function _unpushed
echo (git cherry -v "@{upstream}" ^/dev/null)
end
function rvm_prompt
set -l yellow (set_color -o yellow)
if [ (which rvm) ]
set -l identifier (rvm tools identifier)
echo "$yellow$identifier "
else
echo ""
end
end
function fish_prompt
set -l cyan (set_color cyan)
set -l yellow (set_color yellow)
set -l red (set_color -o red)
set -l blue (set_color blue)
set -l magenta (set_color -o magenta)
set -l normal (set_color normal)
set -l arrow "$red➜"
set -l cwd $cyan(basename (prompt_pwd))
if [ (_git_branch_name) ]
set -l git_branch $red(_git_branch_name)
set git_info "$blue git:($git_branch$blue)"
set -l with_unpushed (_git_branch_name)
if [ (_is_git_dirty) ]
set arrow "$red✗"
end
if [ (_unpushed) ]
set git_info "$git_info$normal with$magenta unpushed"
end
end
echo -e \n
echo -n -s (rvm_prompt) $cwd $git_info
echo -e \n$arrow $normal
end
Acontece que a sintaxe fish é muito melhor do que bash. Vale a pena o esforço para migrar.