From 92d7e29125454a60953e4a977f245403418a27ac Mon Sep 17 00:00:00 2001 From: Mattia Rigotti Date: Fri, 27 Sep 2019 14:22:01 -0400 Subject: [PATCH] Add theme/sexy-python, a modified version of sexy which shows in which virtualenv or condaenv you are --- themes/sexy-python/sexy-python.theme.bash | 46 +++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 themes/sexy-python/sexy-python.theme.bash diff --git a/themes/sexy-python/sexy-python.theme.bash b/themes/sexy-python/sexy-python.theme.bash new file mode 100644 index 00000000..e472218a --- /dev/null +++ b/themes/sexy-python/sexy-python.theme.bash @@ -0,0 +1,46 @@ +# Small modification of Sexy Bash Prompt to include virtualenv and condaenv prompts +# (Sexy Bash Prompt is inspired by "Extravagant Zsh Prompt" +# with big thanks to \amethyst on Freenode) + +if tput setaf 1 &> /dev/null; then + if [[ $(tput colors) -ge 256 ]] 2>/dev/null; then + MAGENTA=$(tput setaf 9) + ORANGE=$(tput setaf 172) + GREEN=$(tput setaf 190) + PURPLE=$(tput setaf 141) + WHITE=$(tput setaf 0) + else + MAGENTA=$(tput setaf 5) + ORANGE=$(tput setaf 4) + GREEN=$(tput setaf 2) + PURPLE=$(tput setaf 1) + WHITE=$(tput setaf 7) + fi + BOLD=$(tput bold) + RESET=$(tput sgr0) +else + MAGENTA="\033[1;31m" + ORANGE="\033[1;33m" + GREEN="\033[1;32m" + PURPLE="\033[1;35m" + WHITE="\033[1;37m" + BOLD="" + RESET="\033[m" +fi + +parse_git_dirty () { + [[ $(git status 2> /dev/null | tail -n1 | cut -c 1-17) != "nothing to commit" ]] && echo "*" +} +parse_git_branch () { + git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/\1$(parse_git_dirty)/" +} + +env_prompt () { + echo -e "($(virtualenv_prompt)$(condaenv_prompt))" +} + +function prompt_command() { + PS1="\[${BOLD}${WHITE}\]$(env_prompt) \[${BOLD}${MAGENTA}\]\u \[$WHITE\]at \[$ORANGE\]\h \[$WHITE\]in \[$GREEN\]\w\[$WHITE\]\$([[ -n \$(git branch 2> /dev/null) ]] && echo \" on \")\[$PURPLE\]\$(parse_git_branch)\[$WHITE\]\n\$ \[$RESET\]" +} + +safe_append_prompt_command prompt_command