Skip to content

Instantly share code, notes, and snippets.

@anderprc
Forked from andru255/gist:6025575
Created August 1, 2013 17:09
Show Gist options
  • Select an option

  • Save anderprc/6133314 to your computer and use it in GitHub Desktop.

Select an option

Save anderprc/6133314 to your computer and use it in GitHub Desktop.
if [ -f /etc/bash_completion ]; then
source /etc/bash_completion
fi
__has_parent_dir () {
# Utility function so we can test for things like .git/.hg without firing up a
# separate process
test -d "$1" && return 0;
current="."
while [ ! "$current" -ef "$current/.." ]; do
if [ -d "$current/$1" ]; then
return 0;
fi
current="$current/..";
done
return 1;
}
__status_signal(){
#status
local st=$@
#signos del branch
local forward="⟰"
local behind="⟱"
local dot="•"
#status del branch
remote_pattern_ahead="# Your branch is ahead of"
remote_pattern_behind="# Your branch is behind"
remote_pattern_diverge="# Your branch and (.*) have diverged"
state=""
if [[ $st =~ "working directory clean" ]]; then
state=${green}${dot}${reset}
else
if [[ ($st =~ "Untracked files") || ($st =~ "no changes added to commit")]]; then
state=${red}${dot}${reset}
fi
if [[ $st =~ "Changed but not updated" ]]; then
state=${state}${yellow}${dot}${reset}
fi
if [[ $st =~ "Changes to be committed" ]]; then
state=${state}${yellow}${dot}${reset}
fi
fi
echo $state;
}
__vcs_name() {
if [ -d .svn ]; then
echo "-[svn]";
elif __has_parent_dir ".git"; then
#traigo el branch
branch="$(__git_ps1 'git %s')"
#traigo el status del branch
status="$(git status 2>/dev/null)"
signalStatus="$(__status_signal $status)"
echo "-[$branch $signalStatus]";
elif __has_parent_dir ".hg"; then
echo "-[hg $(hg branch)]"
fi
}
black=$(tput -Txterm setaf 0)
red=$(tput -Txterm setaf 1)
green=$(tput -Txterm setaf 2)
yellow=$(tput -Txterm setaf 3)
dk_blue=$(tput -Txterm setaf 4)
pink=$(tput -Txterm setaf 5)
lt_blue=$(tput -Txterm setaf 6)
bold=$(tput -Txterm bold)
reset=$(tput -Txterm sgr0)
# Nicely formatted terminal prompt
export PS1='\n\[$bold\]\[$black\][\[$dk_blue\]\@\[$black\]]-[\[$green\]\u\[$yellow\]@\[$green\]\h\[$black\]]-[\[$pink\]\w\[$black\]]\[\033[0;33m\]$(__vcs_name) \[\033[00m\]\[$reset\]\n\[$reset\]\$ '
alias ls='ls -F --color=always'
alias dir='dir -F --color=always'
alias ll='ls -l'
alias cp='cp -iv'
alias rm='rm -i'
alias mv='mv -iv'
alias grep='grep --color=auto -in'
alias v='vim'
alias ..='cd ..'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment