add dump mode
This commit is contained in:
22
allioli.sh
22
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
|
||||
# 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
|
||||
|
||||
Reference in New Issue
Block a user