X-Git-Url: https://git.phdru.name/?p=dotfiles.git;a=blobdiff_plain;f=.bash_prompt;h=6126ef25240e8358dbb2ef4f25f09c420072f18c;hp=9800455f3776a9109b189a29c9312827a8e8e596;hb=HEAD;hpb=2ddae4e7d8e287bd5b0edf9a58bb3ddac040b275 diff --git a/.bash_prompt b/.bash_prompt deleted file mode 100644 index 9800455..0000000 --- a/.bash_prompt +++ /dev/null @@ -1,180 +0,0 @@ -#!/bin/bash - -# bash_prompt; adapted from -# https://github.com/necolas/dotfiles/blob/master/shell/bash_prompt - -# Example: -# nicolas@host: ~/.dotfiles on master [+!?$] -# $ - -# Screenshot: http://i.imgur.com/DSJ1G.png -# iTerm2 prefs: import Solarized theme (disable bright colors for bold text) -# Color ref: http://vim.wikia.com/wiki/Xterm256_color_names_for_console_Vim -# More tips: http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html - -prompt_git() { - local s="" - local branchName="" - - # check if the current directory is in a git repository - if [ $(git rev-parse --is-inside-work-tree &>/dev/null; printf "%s" $?) == 0 ]; then - - # check if the current directory is in .git before running git checks - if [ "$(git rev-parse --is-inside-git-dir 2> /dev/null)" == "false" ]; then - - # ensure index is up to date - #git update-index --really-refresh -q &>/dev/null - - # check for uncommitted changes in the index - if ! $(git diff --quiet --ignore-submodules --cached); then - s="$s+"; - fi - - # check for unstaged changes - if ! $(git diff-files --quiet --ignore-submodules --); then - s="$s!"; - fi - - # check for untracked files - if [ -n "$(git ls-files --others --exclude-standard)" ]; then - s="$s?"; - fi - - # check for stashed files - if $(git rev-parse --verify refs/stash &>/dev/null); then - s="$s$"; - fi - - fi - - # get the short symbolic ref - # if HEAD isn't a symbolic ref, get the short SHA - # otherwise, just give up - branchName="$(git symbolic-ref --quiet --short HEAD 2> /dev/null || \ - git rev-parse --short HEAD 2> /dev/null || \ - printf "(unknown)")" - - [ -n "$s" ] && s=" [$s]" - - printf "%s" "$1$branchName$s" - else - return - fi -} - -set_prompts() { - local black="" - local blue="" - local bold="" - local cyan="" - local dim="" - local green="" - local orange="" - local magenta="" - local red="" - local reset="" - local white="" - local yellow="" - - local dim_black="" - local dim_blue="" - local dim_bold="" - local dim_cyan="" - local dim_green="" - local dim_orange="" - local dim_magenta="" - local dim_red="" - local dim_white="" - local dim_yellow="" - - local hostStyle="" - local userStyle="" - - if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then - tput sgr0 # reset colors - - bold=$(tput bold) - dim=$(tput dim) - reset=$(tput sgr0) - - # Solarized colors - # (https://github.com/altercation/solarized/tree/master/iterm2-colors-solarized#the-values) - black=$(tput setaf 0) - blue=$(tput setaf 33) - cyan=$(tput setaf 37) - green=$(tput setaf 64) - orange=$(tput setaf 166) - red=$(tput setaf 124) - white=$(tput setaf 15) - yellow=$(tput setaf 136) - magenta=$(tput setaf 5) - - dim_black=$dim$black - dim_blue=$dim$blue - dim_cyan=$dim$cyan - dim_green=$dim$green - dim_orange=$dim$orange - dim_magenta=$dim$magenta - dim_red=$dim$red - dim_white=$dim$white - dim_yellow=$dim$yellow - else - bold="" - dim="" - reset="\e[0m" - - black="\e[1;30m" - blue="\e[1;34m" - cyan="\e[1;36m" - green="\e[1;32m" - orange="\e[1;33m" - red="\e[1;31m" - white="\e[1;37m" - yellow="\e[1;33m" - magenta="\e[0;35m" - - dim_black="\e[1;30m" - dim_blue="\e[1;34m" - dim_cyan="\e[1;36m" - dim_green="\e[1;32m" - dim_orange="\e[1;33m" - dim_magenta="\e[1;35m" - dim_red="\e[1;31m" - dim_white="\e[1;37m" - dim_yellow="\e[1;33m" - fi - - # build the prompt - - # logged in as root - if [[ "$USER" == "root" ]]; then - userStyle="\[$bold$red\]" - else - userStyle="\[$orange\]" - fi - - # connected via ssh - if [[ "$SSH_TTY" ]]; then - hostStyle="\[$bold$red\]" - else - hostStyle="\[$yellow\]" - fi - - # set the terminal title to the current working directory - PS1="\[\033]0;\w\007\]" - - PS1+="\n" # newline - PS1+="\[$userStyle\]\u" # username - PS1+="\[$reset$white\]@" - PS1+="\[$hostStyle\]\h" # host - PS1+="\[$reset$white\]: " - PS1+="\[$green\]\w" # working directory - PS1+="\$(prompt_git \"$white on $cyan\")" # git repository details - PS1+="\n" - PS1+="\[$reset$white\]\$ \[$reset\]" # $ (and reset color) - - export PS1 -} - -set_prompts -unset set_prompts