###
#
#	Bash personalisé
# 	Source: tutos.dryades.org (Nov 2009)
# 
# 	Installation:
#	Placer le contenu de ce fichier dans ~/.bashrc
#	et créer un ~/.bash_profile contenant:
# 
# 	if [[ -f .bashrc ]] 
#	then
#   	. ./.bashrc
#	fi
#	BASH_ENV=~./bashrc
#
###



# Reglages de l'historique
export HISTCONTROL=ignoredups # Ne pas stocker les commandes duspliquées
export HISTIGNORE="cd:ls:[bf]g:clear" # Eviter de logger des infos inutiles
export HISTSIZE=5000 # Nb de lignes par session
export HISTFILESIZE=20000 # Nb de lignes global

# Changer le titre de son terminal:
PROMPT_COMMAND='echo -ne "\033];$(id -un)@$(hostname -s)\007"'

# Editeur par défaut:
export EDITOR=mcedit

# Quelques paramètres pratiques :
alias ls='ls -lisah'
alias df='df -h'
alias du='du -h --max-depth=1'

# Correction orthographique automatique
shopt -s cdspell

# Désactiver la commande halt, pour éviter d'éteindre un serveur par mégarde
alias halt="echo -e '\\nCommande désactivée\\n'"




## Trouvé sur linux attitude:
# imprime les infos du gestionnaire de version en cours
# si on en trouve un dans le pwd
# __vcs_dir() {
#     local vcs base_dir sub_dir ref
#     sub_dir() {
#         local sub_dir
#         sub_dir=$(readlink -f "${PWD}")
#         sub_dir=${sub_dir#$1}
#         echo ${sub_dir#/}
#     }
#     # git
#     git_dir() {
#         base_dir=$(git rev-parse --show-cdup 2>/dev/null) || return 1
#         if [ -n "$base_dir" ]; then
#             base_dir=`cd $base_dir; pwd`
#         else
#             base_dir=$PWD
#         fi
#         sub_dir=$(git rev-parse --show-prefix)
#         sub_dir="/${sub_dir%/}"
#         ref=$(git symbolic-ref -q HEAD || git name-rev --name-only HEAD 2>/dev/null)
#         ref=${ref#refs/heads/}
#         vcs="git"
#     }
#     # subversion
#     svn_dir() {
#         [ -d ".svn" ] || return 1
#         base_dir="."
#         while [ -d "$base_dir/../.svn" ]; do
#             base_dir="$base_dir/.."
#         done
#         base_dir=`cd $base_dir; pwd`
#         sub_dir="/$(sub_dir "${base_dir}")"
#         ref=$(svn info "$base_dir" | awk '/^URL/ { sub(".*/","",$0); r=$0 } /^Revision/ { sub("[^0-9]*","",$0); print r":"$0 }')
#         vcs="svn"
#         alias pull="svn up"
#         alias commit="svn commit"
#         alias push="svn ci"
#         alias revert="svn revert"
#     }
#     # mercurial
#     hg_dir() {
#         base_dir="."
#         while [ ! -d "$base_dir/.hg" ]; do
#             base_dir="$base_dir/.."
#             [ $(readlink -f "${base_dir}") = "/" ] && return 1
#         done
#         base_dir=$(readlink -f "$base_dir")
#         sub_dir="/$(sub_dir "${base_dir}")"
#         ref=$(< "${base_dir}/.hg/branch")
#         hgqtop=$(hg qtop)
#         if [[ $hgqtop == 'No patches applied' ]]; then
#             extra=""
#         else
#             extra=" >> $hgqtop"
#         fi
#         vcs="hg"
#     }
#     hg_dir || git_dir || svn_dir || base_dir="$PWD"
#     echo "${vcs:+($vcs)}${_bold}${base_dir/$HOME/~}${_normal}${vcs:+[$ref]${_bold}${sub_dir}${_normal}$extra}"
# }

# usage dans le prompt 
#PS1='${debian_chroot:+($debian_chroot)}\u@\h:$(__vcs_dir)\$ '