diff options
Diffstat (limited to 'src/anissue.sh')
-rwxr-xr-x | src/anissue.sh | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/anissue.sh b/src/anissue.sh new file mode 100755 index 0000000..10736c6 --- /dev/null +++ b/src/anissue.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash +# Usage: +# anissue +# anissue list +# anissue show + +set -efu + +eval "$(sed -rn '0,/^$/{ /#!/d; s/^# ?//p }' "$0" | docopts -h- : "$@")" + +GREEN='\033[0;32m' +BOLD=$(tput bold) +NORMAL=$(tput sgr0) +NC='\033[0m' + +if test $show = true; then + "$(dirname "$0")"/extract.sh "$@" | while read -r item; do + created_at=$(echo "$item" | jq -r .created_at) + file=$(echo "$item" | jq -r .file) + heading=$(echo "$item" | jq -r .heading) + body=$(echo "$item" | jq -r .body) + start_row=$(echo "$item" | jq -r .start_row) + end_row=$(echo "$item" | jq -r .end_row) + + echo -e "$GREEN--- $created_at --- $file$NC" + echo + echo "$BOLD$heading$NORMAL" | fold -s + if test -n "$body"; then + echo + echo "$body" | fold -s + echo + fi + echo + cat "$file" | nl -w 4 -s "| " -p -d '' -b a| tail -n +$(($start_row - 2)) | head -n $(($end_row - $start_row + 7)) + echo + echo + done +else + "$(dirname "$0")"/extract.sh "$@" | while read -r item; do + heading=$(echo "$item" | jq -r .heading) + echo "$heading" + done +fi + +exit 0 |