dotfiles/dot_zsh_functions
2019-08-04 15:09:22 +02:00

83 lines
2.8 KiB
Plaintext

function google() {
open -na "Google Chrome" --args "https://www.google.com/search?q=$*"
}
function stackoverflow() {
open -na "Google Chrome" --args "https://www.google.com/search?q=site:stackoverflow.com $*"
}
function github() {
open -na "Google Chrome" --args "https://github.com/search?q=$*"
}
function hacker() {
open -na "Google Chrome" --args "https://hn.algolia.com/?sort=byDate&query=$*"
}
function gmail() {
open -na "Google Chrome" --args "https://mail.google.com/mail/u/0"
}
function gmail2() {
open -na "Google Chrome" --args "https://mail.google.com/mail/u/1"
}
function tooling() {
open -na "Google Chrome" --args "https://issues.collibra.com/secure/RapidBoard.jspa?rapidView=449&projectKey=TOOL&view=planning.nodetail"
}
function issues() {
jira jql "status = Open AND text ~ \"$*\" ORDER BY Created DESC"
}
function calendar() {
open -na "Google Chrome" --args "https://calendar.google.com/calendar/r?tab=mc"
}
function asana() {
open -na "Google Chrome" --args "https://app.asana.com"
}
function bookmarks() {
open -na "Google Chrome" --args "https://github.com/MorganGeek/bookmarks/blob/master/README.md"
}
function spotify() {
open -na "Google Chrome" --args "https://open.spotify.com/search/results/$*"
}
function lob() {
open -na "Google Chrome" --args "https://lobste.rs"
}
function logtalk() {
path_swilgt=$(find /usr/local/Cellar/logtalk -name "*swilgt.sh" 2>/dev/null)
sh "$path_swilgt"
}
function archive() {
open -na "Google Chrome" --args "https://web.archive.org/web/*/$*"
}
function git_listobjectsbysize() {
tempFile=$(mktemp)
IFS=$'\n'
for commitSHA1 in $(git rev-list --all); do
git ls-tree -r --long "$commitSHA1" >>"$tempFile"
done
# sort files by SHA1, de-dupe list and finally re-sort by filesize
sort --key 3 "$tempFile" | \
uniq | \
sort --key 4 --numeric-sort --reverse
# remove temp file
rm -f "$tempFile"
}
function top_commands() {
history | cat | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a; }' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n50
}
function top_commands_full() {
history | cat | sed 's/^[0-9 TAB]*//g' | awk '{CMD[$0]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "%\t" a; }' | sort -nr | nl | head -n50
}
function istherenewissues() {
LASTISSUE=$(newissues | sed $'s,\x1b\\[[0-9;]*[a-zA-Z],,g' | head -n1 | awk '{print $2}')
if [[ -f ".newjiraissue" ]]
then
previous_jira_issue=$(cat ".newjiraissue")
if [ "$LASTISSUE" != "$previous_jira_issue" ]; then
newissues
else
echo "no new issue"
fi
fi
echo "$LASTISSUE" > .newjiraissue
}
function greppagedate() {
curl -sSL "$*" | \grep datetime | \grep -Eo '[[:digit:]]{4}' | head -n1
}