App-git-hub
view release on metacpan or search on metacpan
share/lib/git-hub view on Meta::CPAN
! "$raw_output" && echo
fi
}
report-value() {
local key="${1//__/\/}"
local value="$(JSON.get -a "/$key" -)"
local label="$key"
if [ "$key" == created_at ]; then
value="${value%T*}"
elif [ "$key" == updated_at ]; then
value="${value%T*}"
elif [ "$key" == pushed_at ]; then
value="${value/T/ }"
value="${value/Z/}"
fi
if ! "$raw_output"; then
local var="label_$1"
label="${!var}"
if [ -z "$label" ]; then
label="$1"
share/lib/git-hub.d/git-hub-issue view on Meta::CPAN
command:issues() {
get-args '?owner:get-user/repo:get-repo'
state=open
"$do_all" && state=all
title="Issues for '$owner/$repo' (state=$state):"
report-list \
"/repos/$owner/$repo/issues?state=$state;sort=updated;direction=desc;per_page=PER_PAGE" \
'number updated_at state user/login title'
}
format-entry:issues() {
if "$raw_output"; then
echo "$2"
else
printf "#%-3d (%s) %-6s @%-16s %s\n" "$2" "${3/T*/}" "$4" "$5" "$6"
fi
}
share/lib/git-hub.d/git-hub-issue view on Meta::CPAN
}
write-issue() {
report-data
local comments="$(JSON.get -n /comments -)"
if [ "$comments" -gt 0 ]; then
echo Comments:
command=comments
report-list \
"/repos/$owner/$repo/issues/$number/comments?sort=updated;per_page=PER_PAGE" \
'user/login updated_at body'
fi
}
format-entry:comments() {
printf "%d) %-14s (%s)\n" "$1" "$2" "${3/T*/}"
local text
normalize-multiline-text-output "$4" " "
echo "$text"
echo
:
share/lib/git-hub.d/git-hub-notify view on Meta::CPAN
require-auth
local all=false
"$do_all" && all=true
title="Notifications for '$login' (all=$all):"
list_size=$Infinity
interactive=false
report-list \
"/notifications?all=$all" \
'subject/title reason updated_at unread subject/type subject/url'
}
format-entry:notify-list() {
if "$raw_output"; then
out "$2"
else
local url="${7/api\./}"
url="${url/repos\//}"
printf -v output_line "%2d) %s (%s)\n %s) unread=%s (%s) %s" \
"$1" "$2" "$3" "${4%T*}" "$5" "$6" "$url"
share/lib/git-hub.d/git-hub-other view on Meta::CPAN
require-auth
get-args '?owner:get-user/repo:get-repo'
api-delete "/user/subscriptions/$owner/$repo"
msg_ok="You are no longer watching '$owner/$repo'"
}
command:watching() {
get-args '?user:get-user'
say "'$user' is watching:"
report-list \
"/users/$user/subscriptions?sort=updated;per_page=PER_PAGE" \
full_name
}
command:watchers() {
get-args '?owner:get-user/repo:get-repo'
say "'$owner/$repo' is being watched by:"
report-list \
"/repos/$owner/$repo/subscribers" \
login
}
command:starred() {
get-args '?user:get-user'
report-list \
"/users/$user/starred?sort=updated;per_page=PER_PAGE" \
full_name
}
command:collabs() {
get-args '?owner:get-user/repo:get-repo'
report-list \
"/repos/$owner/$repo/collaborators" \
login
}
share/lib/git-hub.d/git-hub-pr view on Meta::CPAN
command:pr-list() {
get-args '?owner:get-owner/repo:get-repo'
state=open
"$do_all" && state=all
title="Pull requests for '$owner/$repo' (state=$state):"
report-list \
"/repos/$owner/$repo/pulls?state=$state;sort=updated;per_page=PER_PAGE" \
'number state title user/login created_at updated_at head/label base/label'
}
format-entry:pr-list() {
if "$raw_output"; then
echo "$2"
else
printf "#%-3d %-8s %s\n @%-12s Created: %s Updated: %s\n %s\n" \
"$2" "($3)" "$4" "$5" "${6/T*/}" "${7/T*/}" "$8 â $9"
fi
}
share/lib/git-hub.d/git-hub-user view on Meta::CPAN
command:user() {
get-args '?user:get-user'
api-get "/users/$user"
msg_404="User '$user' not found."
}
ok:user() {
fields=(
login type name html_url email blog location company bio
followers following public_repos public_gists created_at updated_at
)
report-data
}
command:user-get() {
get-args '?user:get-user' key
api-get "/users/$user"
OK || {
msg_fail="User '$user' not found"
return
( run in 0.286 second using v1.01-cache-2.11-cpan-05444aca049 )