Skip to content

Commit

Permalink
[git] Support short-code and improve completion in 'git-hub-shorten-url'
Browse files Browse the repository at this point in the history
Changes:
- Add optional short-code support
- Improve completion for github.com URL (`http(s)://*.github.com` only)
- Return with non-zero exit code appropriately
  • Loading branch information
indrajitr authored and belak committed Nov 29, 2017
1 parent df3468e commit 043d09b
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
7 changes: 6 additions & 1 deletion modules/git/functions/_git-hub-shorten-url
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,9 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#

_arguments '::GitHub URL:_urls' && return 0
local service="$service"

zstyle ":completion:*:${service}:*:prefixes" ignored-patterns '^http(|s)://'
zstyle ":completion:*:${service}:*:hosts" ignored-patterns '^*github.com'

_arguments '1::GitHub URL:_urls' '2::code:' && return 0
8 changes: 5 additions & 3 deletions modules/git/functions/git-hub-shorten-url
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,22 @@

# function git-hub-shorten-url {

local url="$1"
local url="$1" code="$2"

if [[ "$url" == '-' ]]; then
read url <&0
fi

if [[ -z "$url" || ! "$url" =~ ^https?:\/\/.*github.com\/ ]]; then
print "usage: $0 [ url | - ] ; must be a github.com URL" >&2
print "usage: $0 [ url | - ] [code] ; url must be a github.com URL" >&2
return 1
fi

if (( $+commands[curl] )); then
curl -s -i 'https://git.io' -F "url=$url" | sed -n 's/^Location: //p'
curl -s -i 'https://git.io' -F "url=$url" ${(s: :)code:+ -F "code=$code"} | sed -n 's/^Location: //p'
else
print "$0: command not found: curl" >&2
return 1
fi

# }

0 comments on commit 043d09b

Please sign in to comment.