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 )