From 5aed9da1a43b791899ffd906b87a52dd47672e6e Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Fri, 30 Mar 2012 11:45:37 -0400 Subject: [PATCH] Add support for the official GitHub URL shortener --- plugins/git/completions/_git-hub-short-url | 12 +++++++++++ plugins/git/functions/git-hub-short-url | 23 ++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 plugins/git/completions/_git-hub-short-url create mode 100644 plugins/git/functions/git-hub-short-url diff --git a/plugins/git/completions/_git-hub-short-url b/plugins/git/completions/_git-hub-short-url new file mode 100644 index 0000000..b0f997f --- /dev/null +++ b/plugins/git/completions/_git-hub-short-url @@ -0,0 +1,12 @@ +#compdef git-hub-short-url +#autoload + +# +# Completes git-hub-short-url. +# +# Authors: +# Sorin Ionescu +# + +_arguments '1:url:' && return 0 + diff --git a/plugins/git/functions/git-hub-short-url b/plugins/git/functions/git-hub-short-url new file mode 100644 index 0000000..c394f5b --- /dev/null +++ b/plugins/git/functions/git-hub-short-url @@ -0,0 +1,23 @@ +# +# Shortens GitHub URLs. +# +# Authors: +# Sorin Ionescu +# + +local url="$1" + +if [[ "$url" == '-' ]]; then + read url <&0 +fi + +if [[ -z "$url" ]]; then + print "usage: $0 [ url | - ]" >&2 +fi + +if (( $+commands[curl] )); then + curl -s -i 'http://git.io' -F "url=$url" | grep 'Location:' | sed 's/Location: //' +else + print "$0: command not found: curl" >&2 +fi +