function activate_virtualenv() { if [ -f venv/bin/activate ]; then . venv/bin/activate; elif [ -f ../venv/bin/activate ]; then . ../venv/bin/activate; elif [ -f ../../venv/bin/activate ]; then . ../../venv/bin/activate; elif [ -f ../../../venv/bin/activate ]; then . ../../../venv/bin/activate; fi } function play { # Skip DASH manifest for speed purposes. This might actually disable # being able to specify things like 'bestaudio' as the requested format, # but try anyway. # Get the best audio that isn't WebM, because afplay doesn't support it. # Use "$*" so that quoting the requested song isn't necessary. youtube-dl --default-search=ytsearch: \ --youtube-skip-dash-manifest \ --output="${TMPDIR:-/tmp/}%(title)s-%(id)s.%(ext)s" \ --restrict-filenames \ --format="bestaudio[ext!=webm]" \ --exec=afplay "$*" } function mp3 { # Get the best audio, convert it to MP3, and save it to the current # directory. youtube-dl --default-search=ytsearch: \ --restrict-filenames \ --format=bestaudio \ --extract-audio \ --format="bestaudio[ext!=webm]" \ --audio-quality=1 "$*" \ --exec=afplay "$*" } function git-new-remote-tracking { git checkout -b $1 && git push -u origin $1 } function git_branch_name { val=`git branch 2>/dev/null | grep '^*' | colrm 1 2` echo "$val" } function git-done { branch=`git_branch_name` git checkout master && git merge $branch --ff-only && bundle install && rake db:migrate db:test:prepare && rake && git push && git branch -D $branch && git push origin :$branch } function git-nuke { git checkout master && git branch -D $1 && git push origin :$1 } function git-on-master { branch=`git_branch_name` git checkout master && git pull --rebase git checkout $branch git rebase master } function g { if [[ $# > 0 ]]; then git $@ else git status fi } compdef g=git function rrg { rake routes | grep $1 } function take { mkdir $1 cd $1 } # Allows commit message without typing quotes (can't have quotes in the commit msg though). function gc { git commit -m "$*" } # Search google for a term function google() { open /Applications/Google\ Chrome.app/ "http://www.google.com/search?q= $1"; } # Open a file in chrome function chrome () { open -a /Applications/Google\ Chrome.app/ "$1" } # See top 10 bash commands function hist() { cat ~/.history|cut -d ';' -f 2- 2>/dev/null| awk '{a[$1]++ } END{for(i in a){print a[i] " " i}}'|sort -rn|head } function bump_gem_version { if [[ $# -eq 0 ]]; then echo "usage: $0 " else echo "Committing version bump" git add . && git commit -m "Version ${1}" echo "Creating tag v$1" git tag -a v${1} -m "Tagging v${1}" git push origin && git push origin --tags fi }