]> gitweb.fluxo.info Git - scripts.git/commitdiff
Adds timew-shell
authorSilvio Rhatto <rhatto@riseup.net>
Tue, 22 Oct 2019 17:17:38 +0000 (14:17 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Tue, 22 Oct 2019 17:17:38 +0000 (14:17 -0300)
timew-shell [new file with mode: 0755]

diff --git a/timew-shell b/timew-shell
new file mode 100755 (executable)
index 0000000..0c623f2
--- /dev/null
@@ -0,0 +1,27 @@
+#!/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)
+
+      timew ${STDIN[@]}
+      last_exit_code="$?"
+    fi
+  done
+}
+
+# Dispatch
+timew_shell