X-Git-Url: http://gitweb.pimeys.fr/?a=blobdiff_plain;f=.bashrc;h=becaeb53c24a2d3290e770fb64ea016d6e9b48e8;hb=2bfae2c7456c6956ce42bc8db17cd21af2365dd9;hp=9017ff476323940fb0a918145df1461ba28a706e;hpb=1a0dc5e3c3e7997899c0045b45487836b33747e2;p=config-20-100.git diff --git a/.bashrc b/.bashrc index 9017ff4..becaeb5 100644 --- a/.bashrc +++ b/.bashrc @@ -47,26 +47,36 @@ fi #~# get_vcs_info () { #~# # Donne les infos sur le dépôt VCS courant. #~# # priorité à git, puis darcs -#~# local BRANCH TYPE violet orange vert +#~# local LBRANCH LTYPE BRANCH TYPE violet orange vert #~# violet="\[\e[35m\]" #~# orange="\[\e[33m\]" #~# vert="\[\e[32m\]" #~# nocolor="\[\e[0m\]" -#~# BRANCH=$(git branch 2>/dev/null | sed -r "s/^[^*].*$//" | paste -s -d '' | sed -r "s/^[*] //") -#~# if [ -n "$BRANCH" ]; -#~# then -#~# TYPE="git" -#~# else -#~# BRANCH=$(darcs show repo 2>/dev/null| egrep '^ *Cache' | sed 's@.*/\([^/]*\),.*@\1@') -#~# if [ -n "$BRANCH" ]; -#~# then -#~# TYPE="darcs" +#~# declare -a TYPE +#~# declare -a BRANCH +#~# TYPE[0]="git" +#~# TYPE[1]="mercurial" +#~# TYPE[2]="darcs" +#~# TYPE[3]="svn" +#~# BRANCH[0]='git branch 2>/dev/null | sed -r "s/^[^*].*$//" | paste -s -d "" | sed -r "s/^[*] //"' +#~# BRANCH[1]='hg branch 2>/dev/null' +#~# BRANCH[2]="darcs show repo 2>/dev/null| egrep '^ *Cache' | sed 's@.*/\([^/]*\),.*@\1@'" +#~# BRANCH[3]="svn info 2>/dev/null | head -n 6 | tail -n 1" +#~# for i in $(seq 0 $((${#BRANCH[*]}-1))); do +#~# LBRANCH=$(eval "${BRANCH[$i]}") +#~# if [ -n "$LBRANCH" ]; then +#~# LTYPE="${TYPE[$i]}" +#~# break #~# fi -#~# fi -#~# if [ -n "$TYPE" ]; +#~# done +#~# if [ -n "$LTYPE" ]; #~# then -#~# VCS_info="${nocolor}${violet}(${nocolor}$TYPE${violet})-${violet}[${vert}$BRANCH${violet}]${nocolor}" -#~# VCS_size=$((${#TYPE}+${#BRANCH}+5)) +#~# if [ "$color_prompt" = yes ]; then +#~# VCS_info="${nocolor}${violet}(${nocolor}$LTYPE${violet})-${violet}[${vert}$LBRANCH${violet}]${nocolor}" +#~# else +#~# VCS_info="($LTYPE)-[$LBRANCH]" +#~# fi +#~# VCS_size=$((${#LTYPE}+${#LBRANCH}+5)) #~# else #~# VCS_info="" #~# VCS_size=0 @@ -135,13 +145,29 @@ function prompt_command DIR=$pwd POST_DIR='${MINUS_LINE:'${#pwd}+${VCS_size}+1'+${#?}}' fi - DIR="< ${jaune}"$DIR"${cyan} >" - ERR='[ \[\e[1;$((31+($?==0)*6))m\]$?'${cyan}' ]'$MINUS_CHAR - DATE="( ${violet}\D{%H:%M:%S}${cyan} )" - PROMPT="${rouge}\u${vert}@${bleu}\h ${vert}\$ ${nocolor}" - PS1=$TITLE${cyan}$MINUS_CHAR$DATE$MINUS_CHAR$DIR$MINUS_CHAR$VCS_info${cyan}$POST_DIR$ERR'\n'$PROMPT + if [ "$color_prompt" = yes ]; then + DIR="< ${jaune}"$DIR"${cyan} >" + ERR='[ \[\e[1;$((31+($?==0)*6))m\]$?'${cyan}' ]'$MINUS_CHAR + DATE="( ${violet}\D{%H:%M:%S}${cyan} )" + PROMPT="${rouge}\u${vert}@${bleu}\h ${vert}\$ ${nocolor}" + PS1=$TITLE${cyan}$MINUS_CHAR$DATE$MINUS_CHAR$DIR$MINUS_CHAR$VCS_info${cyan}$POST_DIR$ERR'\n'$PROMPT + else + DIR="< "$DIR" >" + ERR='[ $? ]'$MINUS_CHAR + DATE="( \D{%H:%M:%S} )" + PROMPT="\u@\h \$ " + PS1=$TITLE$MINUS_CHAR$DATE$MINUS_CHAR$DIR$MINUS_CHAR$VCS_info$POST_DIR$ERR'\n'$PROMPT + fi } +if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then + # support de la couleur + color_prompt=yes +else + # pas de support de la couleur + color_prompt=no +fi + # On change le titre de la fenêtre dynamiquement si on est sous X if [[ $TERM = "xterm" ]]; then TITLE='\[\e];\u@\h:\w\a\]' @@ -162,9 +188,15 @@ if [[ $(uname) == Linux && ( $(locale charmap) == UTF-8 && $TERM != screen ) ]]; date=$(/bin/date +"%R, %A %d %B %Y") redate=${date//é/e} redate=${redate//û/u} - echo -e "\e[1;36m┬─${redate//?/─}──┬${MINUS_LINE:${#date}-18}\n\ + if [ "$color_prompt" = yes ]; then + echo -e "\e[1;36m┬─${redate//?/─}──┬${MINUS_LINE:${#date}-18}\n\ │ \e[1;37m$date\e[1;31m \e[1;36m │\n\ └─${redate//?/─}──┘\e[0m\n" + else + echo -e "┬─${redate//?/─}──┬${MINUS_LINE:${#date}-18}\n\ +│ $date │\n\ +└─${redate//?/─}──┘\n" + fi unset date else MINUS_CHAR=-