diff options
| author | typebrook <typebrook@gmail.com> | 2020-03-31 15:32:47 +0800 |
|---|---|---|
| committer | typebrook <typebrook@gmail.com> | 2020-03-31 15:40:29 +0800 |
| commit | 239f6431f32dcf9f1368283daf0d65da49ef8e20 (patch) | |
| tree | 289e3a78f380b56c0bb927a08136a19c30072133 | |
| parent | 33e44f1fff14c0ea52adaaaee909de5cf21615b3 (diff) | |
Improve 'gist detail'
Make it works without index if working dir is a gist repo
| -rwxr-xr-x | gist | 14 |
1 files changed, 12 insertions, 2 deletions
| @@ -466,6 +466,15 @@ _gist_id() { | |||
| 466 | fi | 466 | fi |
| 467 | } | 467 | } |
| 468 | 468 | ||
| 469 | # set gist id either by given index or current directory | ||
| 470 | _set_gist_id() { | ||
| 471 | if [[ -z $1 ]]; then | ||
| 472 | [[ $(dirname $(pwd)) == $folder ]] && GIST_ID=$(basename $(pwd)) || return 1 | ||
| 473 | else | ||
| 474 | _gist_id "$1" || return 1 | ||
| 475 | fi | ||
| 476 | } | ||
| 477 | |||
| 469 | # Show path of repo by gist ID, and perform action | 478 | # Show path of repo by gist ID, and perform action |
| 470 | _goto_gist() { | 479 | _goto_gist() { |
| 471 | echo "$folder/$GIST_ID" | 480 | echo "$folder/$GIST_ID" |
| @@ -539,8 +548,9 @@ for comment in raw: | |||
| 539 | # Show the detail of a gist | 548 | # Show the detail of a gist |
| 540 | # TODO add parameter --comment to fetch comments | 549 | # TODO add parameter --comment to fetch comments |
| 541 | _show_detail() { | 550 | _show_detail() { |
| 542 | _gist_id "$1" || return 1 | 551 | _set_gist_id $1 || return 1 |
| 543 | sed -n "/^$1 / p" $INDEX \ | 552 | |
| 553 | sed -En -e "/[^ ]+ [^ ]+$GIST_ID / p" $INDEX \ | ||
| 544 | | while read -r "${INDEX_FORMAT[@]}"; do | 554 | | while read -r "${INDEX_FORMAT[@]}"; do |
| 545 | local hashtags=$(_hashtags "$description") | 555 | local hashtags=$(_hashtags "$description") |
| 546 | echo desc: ${description%% $hashtags} | 556 | echo desc: ${description%% $hashtags} |