X-Git-Url: https://git.phdru.name/?p=dotfiles.git;a=blobdiff_plain;f=.bash_prompt;h=6126ef25240e8358dbb2ef4f25f09c420072f18c;hp=609f19f751c2997f19f4acb4ef24b30054d76f3b;hb=HEAD;hpb=1e565a34e5c27d0a0b373227667c2813cf9105c0 diff --git a/.bash_prompt b/.bash_prompt deleted file mode 100644 index 609f19f..0000000 --- a/.bash_prompt +++ /dev/null @@ -1,192 +0,0 @@ -#!/bin/bash - -# bash_prompt; adapted from -# https://github.com/necolas/dotfiles/blob/master/shell/bash_prompt and -# http://vitus-wagner.livejournal.com/1176589.html?thread=40146189#t40146189 - -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 charStyle="" - local gitStyle="" - local hostStyle="" - local userStyle="" - local wdirStyle="" - - if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then - tput sgr0 # reset colors - - bold=$(tput bold) - dim=$(tput dim) - reset=$(tput sgr0) - - black=$(tput setaf 0) - blue=$(tput setaf 4) - cyan=$(tput setaf 6) - green=$(tput setaf 2) - orange=$(tput setaf 3) - magenta=$(tput setaf 5) - red=$(tput setaf 1) - white=$bold$(tput setaf 7) - yellow=$(tput setaf 3) - - 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[0;30m" - blue="\e[0;34m" - cyan="\e[0;36m" - green="\e[0;32m" - orange="\e[0;33m" - magenta="\e[0;35m" - red="\e[0;31m" - white="\e[0;37m" - yellow="\e[0;33m" - - 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 - - charStyle="$reset$bold$black" - gitStyle="\[$white\]on \[$magenta\]" - case "$BACKGROUND" in - DARK|dark) - hostStyle="$reset$cyan" - ;; - LIGHT|light) - hostStyle="$reset$blue" - ;; - esac - wdirStyle="$reset$green" - - - # logged in as root - if [[ "$USER" == "root" ]]; then - userStyle="$bold$red" - else - userStyle="$orange" - fi - - # build the prompt - # display the user, host and current working directory in the terminal title - case "$TERM" in - *rxvt*|screen*|*term*|vt100) - PS1="\[\033]0;\u@\h:\w\007\]" - case "$TERM" in - screen*) - PS1+="\[\033k\u@\h:\w\033\\\]" # Set screen/tmux caption - ;; - esac - ;; - - *) - PS1="" - ;; - esac - - #PS1+="\n" # newline - PS1+="\[$userStyle\]\u" # username - PS1+="\[$charStyle\]@" - PS1+="\[$hostStyle\]\h " # host - #PS1+="\[$charStyle\]: " - PS1+="\[$wdirStyle\]\W " # working directory - PS1+='`erco=$?; [ $erco == 0 ] && echo -n ":)" || echo -n '"\"\[$red\]:(\[$reset\] $\""'?=$erco` ' - PS1+="\$(prompt_git \"$gitStyle\")" # git repository details - #PS1+="\n" - PS1+="\[$charStyle\]\$ \[$reset\]" # $ (and reset color) - - export PS1 -} - -set_prompts -unset set_prompts