App-git-hub
view release on metacpan or search on metacpan
share/lib/git-hub view on Meta::CPAN
output+=$'\n'
fi
if [[ "$line" =~ ^\ ]]; then
output+="$indent$line"$'\n'
code=true para=false
else
local width=81
osx && width=78
output+="$( echo "$indent$line" | fmt -w $width )"$'\n'
para=true code=false
fi
start=true blank=false
else
if "$para" || "$code"; then
para=false code=false
fi
blank=true
fi
done
if [ -n "$output" ] && ! "$code"; then
output+=$'\n'
fi
echo -n "$output"
)
)"
}
#------------------------------------------------------------------------------
# Report formatting functions:
#------------------------------------------------------------------------------
report-data() {
if interactive && ! $pager_in_use; then
pager_in_use=true
msg_ok=0
report-data-process "$@" | $GIT_HUB_PAGER
else
report-data-process "$@"
fi
}
report-data-process() {
if "$json_output"; then
pretty-json-object "${fields[@]}"
else
json-prune-hash "${fields[@]}"
for field in "${fields[@]}"; do
local skip="skip_field_$field"
[ -n "${!skip}" ] && continue
report-value "$field"
done
! "$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"
label="${label/__*/}"
label="$(echo "$label" | tr '_' ' ')"
label="$(
for word in $label; do
title=`echo "${word:0:1}" | tr a-z A-Z`${word:1}
echo -n "$title "
done
)"
label="${label% }"
fi
fi
if [ -n "$label" -a -n "$value" ]; then
if "$raw_output"; then
printf "%s\t%s\n" "$label" "$value"
else
value="${value%%\\n}"
if [ ${#value} -ge 80 ] ||
[[ "$value" =~ \\n ]] ||
[ "$label" == Description ]
then
echo "$label:"
normalize-multiline-text-output "$value" " "
echo "$text"
else
printf "%-15s %s\n" "$label" "$value"
fi
fi
fi
}
label_blog='Web Site'
label_watchers='Stars'
label_homepage='Web Site'
label_html_url='GitHub Page'
label_ssh_url='Remote URL'
label_parent__full_name='Forked From'
label_source__full_name='Fork Parent'
label_number='ID #'
#------------------------------------------------------------------------------
# Initial setup functions:
#------------------------------------------------------------------------------
init-env() {
[ -z "$HOME" ] && die "Cannot determine HOME directory"
pager_in_use=false
sha1sum=sha1sum
shopt_opt='shopt -s nullglob globstar'
if [[ "$OSTYPE" =~ ^darwin|^freebsd ]]; then
sha1sum=shasum
( run in 1.047 second using v1.01-cache-2.11-cpan-e1769b4cff6 )