From 48f87839433e42f7fd73d948455c684a824e5c71 Mon Sep 17 00:00:00 2001 From: Alexander Bocken Date: Mon, 22 Dec 2025 17:51:04 +0100 Subject: [PATCH] add dump mode --- allioli.sh | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/allioli.sh b/allioli.sh index 9d1a5b1..fca2274 100755 --- a/allioli.sh +++ b/allioli.sh @@ -27,6 +27,7 @@ show_help() { echo " -g show only German (no Latin)" echo " -L show only Latin (no German)" echo " -j output as JSON" + echo " -d dump entire Bible (no interactive mode)" echo " -h show help" echo echo " Reference types:" @@ -89,6 +90,9 @@ while [ $# -gt 0 ]; do elif [ "$1" = "-j" ]; then export ALLIOLI_JSON_OUTPUT=1 shift + elif [ "$1" = "-d" ] || [ "$1" = "--dump" ]; then + export ALLIOLI_DUMP=1 + shift elif [ "$1" = "-h" ] || [ "$isFlag" -eq 1 ]; then show_help else @@ -104,6 +108,12 @@ if [ -z "$ALLIOLI_MAX_WIDTH" ]; then fi if [ $# -eq 0 ]; then + # If dump mode is enabled, dump everything instead of entering interactive mode + if [ -n "$ALLIOLI_DUMP" ] && [ "$ALLIOLI_DUMP" != "0" ]; then + get_data allioli.tsv | awk -v cmd=dump "$(get_data allioli.awk)" + exit 0 + fi + if [ ! -t 0 ]; then show_help fi @@ -114,9 +124,19 @@ if [ $# -eq 0 ]; then if ! read -r ref; then break fi - get_data allioli.tsv | awk -v cmd=ref -v ref="$ref" "$(get_data allioli.awk)" | ${PAGER} + # Use pager unless JSON output is enabled + if [ -n "$ALLIOLI_JSON_OUTPUT" ] && [ "$ALLIOLI_JSON_OUTPUT" != "0" ]; then + get_data allioli.tsv | awk -v cmd=ref -v ref="$ref" "$(get_data allioli.awk)" + else + get_data allioli.tsv | awk -v cmd=ref -v ref="$ref" "$(get_data allioli.awk)" | ${PAGER} + fi done exit 0 fi -get_data allioli.tsv | awk -v cmd=ref -v ref="$*" "$(get_data allioli.awk)" | ${PAGER} +# Use pager unless JSON output or dump mode is enabled +if [ -n "$ALLIOLI_JSON_OUTPUT" ] && [ "$ALLIOLI_JSON_OUTPUT" != "0" ]; then + get_data allioli.tsv | awk -v cmd=ref -v ref="$*" "$(get_data allioli.awk)" +else + get_data allioli.tsv | awk -v cmd=ref -v ref="$*" "$(get_data allioli.awk)" | ${PAGER} +fi