diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/anissue.sh | 45 | ||||
-rwxr-xr-x | src/extract.sh | 32 |
2 files changed, 45 insertions, 32 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 diff --git a/src/extract.sh b/src/extract.sh index 1e8440d..6422694 100755 --- a/src/extract.sh +++ b/src/extract.sh @@ -42,14 +42,6 @@ # # @assigned kirchner@posteo.de -# TODO Add command line modes list and show -# -# `anissue list` lists all issues in the current directory -# `anissue show <issue>` shows an issue using it's id or automatically -# assigned identifier -# -# @assigned aforemny - # TODO Generate and show hash for each issue @@ -115,28 +107,4 @@ git ls-files --cached --exclude-standard --other | "heading": $heading, "start_row": $start_row }' - done | 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) - - GREEN='\033[0;32m' - BOLD=$(tput bold) - NORMAL=$(tput sgr0) - NC='\033[0m' - 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 |