dotfiles/functions

95 lines
2.5 KiB
Plaintext

platform=`uname`
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 take {
mkdir $1
cd $1
}
# Search google for a term
function google() {
if [[ $platform == 'Darwin' ]]; then
open /Applications/Google\ Chrome.app/ "http://www.google.com/search?q= $1";
else
chrome "http://www.google.com/search?q= $1";
fi
}
# Open a file in chrome
function chrome () {
if [[ $platform == 'Darwin' ]]; then
open -a /Applications/Google\ Chrome.app/ "$1"
else
chrome "$1"
fi
}
# See top 10 bash commands
function hist() {
if [[ "${platform,,}" == *'ming'* ]]; then
hist_file=~/.bash_history
else
hist_file=~/.history
fi
cat $hist_file|cut -d ';' -f 2- 2>/dev/null| awk '{a[$1]++ } END{for(i in a){print a[i] " " i}}'|sort -rn|head
}