# Functions


#  Python based scripts

function py-trace() {
    python -m trace --ignore-dir=$(python -c 'import sys ; print(":".join(sys.path)[1:])') --trace "$@"
}

# Everything else

function git-branch() {
    branch=`git branch | fzf | xargs`
    git checkout "${branch}"
}

function ex() {
    if [ -f $1 ]; then
        case $1 in
            *.tar.bz2)  tar xjf $1  ;;
            *.tar.gz)   tar xzf $1  ;;
            *.bz2)      bunzip2 $1  ;;
            *.rar)      unrar x $1  ;;
            *.gz)       gunzip $1   ;;
            *.tar)      tar xf $1   ;;
            *.tbz2)     tar xjf $1  ;;
            *.tgz)      tar xzf $1  ;;
            *.zip)      unzip $1    ;;
            *.Z)        uncompress $1 ;;
            *.7z)       7z x $1     ;;
            *.deb)      ar x $1     ;;
            *.tar.xz)   tar xf $1   ;;
            *.tar.zst)  tar xf $1   ;;
            *)          echo "'$1' cannot be extracted using ex()" ;;
        esac
    else
        echo "'$1' is not a valid file"
    fi

}

function php-server() {
    if [ $1 <= 1024 ]; then
        authbind php -S 0.0.0.0:"$1"
    else
        php -S 0.0.0.0:"$1"
    fi
}
