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} |