aboutsummaryrefslogtreecommitdiff
path: root/timew-shell
blob: 0c623f270a5e2baf9f95192b00e04b0951c2db00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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