1
0
mirror of https://github.com/dcarrillo/prezto.git synced 2024-12-22 18:38:00 +00:00

[git] Support short-code and improve completion in 'git-hub-shorten-url'

Changes:
- Add optional short-code support
- Improve completion for github.com URL (`http(s)://*.github.com` only)
- Return with non-zero exit code appropriately
This commit is contained in:
Indrajit Raychaudhuri 2017-07-07 17:04:30 -05:00 committed by Kaleb Elwert
parent df3468e957
commit 043d09bbfe
2 changed files with 11 additions and 4 deletions

View File

@ -8,4 +8,9 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # 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

View File

@ -7,20 +7,22 @@
# function git-hub-shorten-url { # function git-hub-shorten-url {
local url="$1" local url="$1" code="$2"
if [[ "$url" == '-' ]]; then if [[ "$url" == '-' ]]; then
read url <&0 read url <&0
fi fi
if [[ -z "$url" || ! "$url" =~ ^https?:\/\/.*github.com\/ ]]; then 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 fi
if (( $+commands[curl] )); then 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 else
print "$0: command not found: curl" >&2 print "$0: command not found: curl" >&2
return 1
fi fi
# } # }