aboutsummaryrefslogtreecommitdiff
path: root/timew-shell
blob: 2ebbf286baa32f84e22a3733b126b16486b906e9 (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
28
29
30
31
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