diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2024-08-20 20:42:35 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2024-08-20 20:42:35 -0300 |
commit | 3c5c672e47737e6b3342dfeb730ccd8320f2d442 (patch) | |
tree | d08d27539f244e640cf1e92ed0f259929fdf5d32 /timew-shell | |
download | utils-organization-3c5c672e47737e6b3342dfeb730ccd8320f2d442.tar.gz utils-organization-3c5c672e47737e6b3342dfeb730ccd8320f2d442.tar.bz2 |
Initial import
Diffstat (limited to 'timew-shell')
-rwxr-xr-x | timew-shell | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/timew-shell b/timew-shell new file mode 100755 index 0000000..2ebbf28 --- /dev/null +++ b/timew-shell @@ -0,0 +1,32 @@ +#!/bin/bash +# +# Timewarrior shell. +# + +# Shell +function timew_shell { + local last_exit_code="0" + + # While a "quit" command isn't entered, read STDIN + while read -rep "$last_exit_code timew> " STDIN; do + history -s "$STDIN" + + if [ "$STDIN" == "quit" ] || [ "$STDIN" == "exit" ] || [ "$STDIN" == "bye" ]; then + break + elif [[ -n "$STDIN" && "$STDIN" != "#"* ]]; then + # If line is not empty or commented, process command + STDIN=($STDIN) + + if [ "$STDIN" == "status" ] || [ "$STDIN" == "st" ]; then + timew + else + timew ${STDIN[@]} + fi + + last_exit_code="$?" + fi + done +} + +# Dispatch +timew_shell |