diff options
Diffstat (limited to 'scripts/gist')
| -rwxr-xr-x | scripts/gist | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/scripts/gist b/scripts/gist index a54d381..09d67c0 100755 --- a/scripts/gist +++ b/scripts/gist | |||
| @@ -250,6 +250,7 @@ _show_detail() { | |||
| 250 | | jq '.[] | {user: .user.login, created_at: .created_at, updated_at: .updated_at, body: .body}' | 250 | | jq '.[] | {user: .user.login, created_at: .created_at, updated_at: .updated_at, body: .body}' |
| 251 | } | 251 | } |
| 252 | 252 | ||
| 253 | # FIXME put file before parameters | ||
| 253 | _set_gist() { | 254 | _set_gist() { |
| 254 | while [[ "$1" =~ ^- && "$1" != "--" ]]; do case $1 in | 255 | while [[ "$1" =~ ^- && "$1" != "--" ]]; do case $1 in |
| 255 | -d | --desc) | 256 | -d | --desc) |
| @@ -283,14 +284,10 @@ _create_gist() { | |||
| 283 | [[ -z "$description" ]] && read -p 'Type description: ' description < /dev/tty | 284 | [[ -z "$description" ]] && read -p 'Type description: ' description < /dev/tty |
| 284 | 285 | ||
| 285 | for file in $files; do | 286 | for file in $files; do |
| 286 | FILE=$(basename $file) | 287 | filename=$(basename $file) |
| 287 | jq --arg FILE "$FILE" '. as $content | { ($FILE): {content: $content} }' -Rs $file | 288 | echo "\"$filename\": {\"content\": \"$(sed '$ !s/$/\\n/' $file)\"}," |
| 288 | done \ | 289 | done | tr -d '\n' | sed 's/^/{/; s/,$/}/' \ |
| 289 | | jq --slurp --arg DESC "$description" '{ | 290 | | echo "{ \"public\": true, \"files\": $(cat -), \"description\": \"$description\"}" \ |
| 290 | public: true, | ||
| 291 | files: add, | ||
| 292 | description: ($DESC) | ||
| 293 | }' \ | ||
| 294 | | curl -s -H "$auth_header" --data @- $github_api/gists \ | 291 | | curl -s -H "$auth_header" --data @- $github_api/gists \ |
| 295 | | sed '1 s/^/[/; $ s/$/]/' \ | 292 | | sed '1 s/^/[/; $ s/$/]/' \ |
| 296 | | _parse_response \ | 293 | | _parse_response \ |