#!/usr/bin/env bash

# Disable capslock
if [[ -x `which setxkbmap` ]]; then
    if [[ `uname` == 'Linux' ]]; then
        setxkbmap -option ctrl:nocaps
    fi
fi

# don't put duplicate lines in the history. See bash(1) for more options
# ... or force ignoredups and ignorespace
export HISTCONTROL=ignoredups:erasedups:ignorespace

# append to the history file, don't overwrite it
shopt -s histappend

# Use empty string for unlimited history
export HISTSIZE=
export HISTFILESIZE=
export HISTTIMEFORMAT='%y-%m-%d %T λ '
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

if [ "$TERM" == "xterm" ]; then
    export TERM=xterm-256color
fi

function _add-path {
    dir="$1"
    if [[ $PATH =~ "$dir" ]]; then
        return
    fi
    if [[ -d $dir ]]; then
        PATH=$dir:$PATH
    fi
}

_add-path ~/.cargo/bin
_add-path ~/go/bin
_add-path /var/lib/gems/1.8/bin
_add-path /Library/Frameworks/Python.framework/Versions/2.7/bin
_add-path  ~/Library/Python/2.7/bin
_add-path ~/.rvm/bin
_add-path ~/opt/bin
_add-path /usr/local/mysql/bin
_add-path /opt/vertica/bin
_add-path /opt/local/bin
_add-path /opt/local/sbin
_add-path ~/bin
_add-path /usr/local/go/bin
_add-path ~/.bin
_add-path ~/opt/depot_tools
_add-path ~/.yarn/bin

if [[ $(uname) == 'Darwin' ]]; then
    export BS_OS='osx'
elif [[ $(uname) == 'Linux' ]]; then
    export BS_OS='linux'
fi

export EDITOR='vim'

[[ -f ~/.nvm/nvm.sh ]] && source ~/.nvm/nvm.sh
[[ -r $NVM_DIR/bash_completion ]] && source $NVM_DIR/bash_completion