Skip to content

Instantly share code, notes, and snippets.

@fguisso
Created June 16, 2017 14:57
Show Gist options
  • Save fguisso/efe1813fa271e8c8e576a879c1e4178b to your computer and use it in GitHub Desktop.
Save fguisso/efe1813fa271e8c8e576a879c1e4178b to your computer and use it in GitHub Desktop.
oh-my-zsh theme and libs
# ZSH Theme, bira custom, add node version by fernandoguisso
# Bira Preview: http://gyazo.com/8becc8a7ed5ab54a0262a470555c3eed.png
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
if [[ $UID -eq 0 ]]; then
local user_host='%{$terminfo[bold]$fg[red]%}%n@%m%{$reset_color%}'
local user_symbol='#'
else
local user_host='%{$terminfo[bold]$fg[green]%}%n@%m%{$reset_color%}'
local user_symbol='$'
fi
local current_dir='%{$terminfo[bold]$fg[blue]%}%~%{$reset_color%}'
local rvm_ruby=''
if which rvm-prompt &> /dev/null; then
rvm_ruby='%{$fg[red]%}‹$(rvm-prompt i v g)›%{$reset_color%}'
else
if which rbenv &> /dev/null; then
rvm_ruby='%{$fg[red]%}‹$(rbenv version | sed -e "s/ (set.*$//")›%{$reset_color%}'
fi
fi
local git_branch='$(git_prompt_info)%{$reset_color%}'
local nvm='$(node_version)%{$reset_color%}'
local docker='$(docker_version)%{$reset_color%}'
PROMPT="╭─${user_host} ${current_dir} ${rvm_ruby} ${nvm} ${docker} ${git_branch}
╰─%B${user_symbol}%b "
RPS1="%B${return_code}%b"
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹"
ZSH_THEME_GIT_PROMPT_SUFFIX="›%{$reset_color%}"
ZSH_THEME_NODE_PROMPT_PREFIX="%{$fg[green]%}⬡ ‹"
ZSH_THEME_NODE_PROMPT_SUFFIX="›%{$reset_color%}"
ZSH_THEME_DOCKER_PROMPT_PREFIX="%{$fg[blue]%}🐳 ‹"
ZSH_THEME_DOCKER_PROMPT_SUFFIX="›%{$reset_color%}"
# get Dockerfile or docker-compose and print docker version
function docker_version() {
local docker_prompt
if ls | grep -q Dockerfile || ls | grep -q docker-compose.yml; then
docker_prompt=$(docker version --format '{{.Client.Version}}')
echo "${ZSH_THEME_DOCKER_PROMPT_PREFIX}${docker_prompt}${ZSH_THEME_DOCKER_PROMPT_SUFFIX}"
fi
}
# get the node.js version
function node_version() {
local node_prompt
if ls | grep -q package.json; then
node_prompt=$(node -v | sed -e s/v//g)
echo "${ZSH_THEME_NODE_PROMPT_PREFIX}${node_prompt}${ZSH_THEME_NODE_PROMPT_SUFFIX}"
fi
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment