# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi

umask 022   # create new file with '644'
ulimit -c 0 # no dump core
export PAGER=less
export LESS='-FRX -i -P ?f%f:(stdin).  ?lb%lb?L/%L..  [?eEOF:?pb%pb\%..]'

HISTSIZE=50000
HISTFILESIZE=50000

set -o notify   # notify end of background job immediately

shopt -s histappend     # append command history instead of overwrite
shopt -s checkhash      # check always PATH hash table
shopt -s cmdhist        # save multi lines command to one line
shopt -s no_empty_cmd_completion    # no complementation with no input
shopt -s histverify     # check command history before execute


# view last 30 history or search from last 1000 history
function i {
    if [ "$1" ]; then history 1000 | grep "$@"; else history 30; fi
}

# view last 30 history or search from all history
function I {
    if [ "$1" ]; then history | grep "$@"; else history 30; fi
}

if [ -f $BASH_COMPLETION_DIR/git -o -f $BASH_COMPLETION_COMPAT_DIR/git ]; then
    export PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(__git_ps1)\$ '
else
    export PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

function svnst {
    svn st $@ | grep "^[^?]"
}

function hexcmp {
    cmp -l "$@" | awk '{printf "%08X %02X %02X\n", $1-1, strtonum(0$2), strtonum(0$3)}'
}

alias vi='vim'
alias sudo='sudo -H '
alias rm='rm -v'
alias screen='screen -U -R'
alias mv='mv -i'
alias cp='cp -i'
