Skip to content

Instantly share code, notes, and snippets.

@KELiON
Last active September 17, 2021 21:11
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save KELiON/4721946 to your computer and use it in GitHub Desktop.
Save KELiON/4721946 to your computer and use it in GitHub Desktop.
Fish-fish shell prompt with ruby version and git info
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 _rb_prompt
echo (rbenv version | awk '{print $1}')
end
function fish_prompt
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➜ $normal"
set -l cwd $cyan(prompt_pwd)
set -l ruby_version $yellow(_rb_prompt)
set -l ruby_version "$ruby_version$normal in "
if [ (_git_branch_name) ]
set -l git_branch $red(_git_branch_name)
set git_info "$blue on $git_branch$blue"
if [ (_is_git_dirty) ]
set -l dirty "$yellow ✗"
set git_info "$git_info$dirty"
end
end
echo -s $ruby_version $cwd $git_info $normal \n $arrow " "
end
@jspillers
Copy link

this is one sexy prompt!

@roman-kiselenko
Copy link

for rvm use this ruby --version | awk '{print $2}' instead rbenv version | awk '{print $1}'

@Asuza
Copy link

Asuza commented May 12, 2015

Is there a screenshot available of how this looks?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment