Created
July 17, 2013 23:45
-
-
Save andru255/6025575 to your computer and use it in GitHub Desktop.
3er forma de tunear el bashrc esta vez mostrando el signo del status de un repo bajo git y orden chevere a color de la ruta bajo []
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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