git.fiddlerwoaroof.com
Raw Blame History
TODO_DIR="$HOME/.todos"

if [[ ! -d "$TODO_DIR" ]]; then
  mkdir -p "$TODO_DIR"/{shells,archive}
fi

ds() {
  local task
  if [[ $# > 0 ]]; then
    task="$@"
  else
    read -r  task\?'What doing? '
  fi
  printf '%s' "$task" > "$TODO_DIR/shells/$$.txt"
}

td() {
  local task
  if [[ $# > 0 ]]; then
    task="$@"
  else
    read -r  task\?'What doing? '
  fi
  printf '%s' "$task" > "$TODO_DIR/current"
}

pop-todo() {
  local shell_file day_file
  shell_file="$TODO_DIR/shells/$$.txt"
  day_file="$TODO_DIR/current"

  if [[ -f "$shell_file" ]]; then
    mv "$shell_file" "$TODO_DIR/archive/$$.$(date +"%Y-%m-%d--%H-%M-%S")"
    return
  fi

  if [[ -f "$day_file" ]]; then
    mv "$day_file" "$TODO_DIR/archive/current.$(date +"%Y-%m-%d--%H-%M-%S")"
    return
  fi
}

doing() {
  local shell_file day_file
  shell_file="$TODO_DIR/shells/$$.txt"
  day_file="$TODO_DIR/current"

  if [[ -f "$shell_file" || -f "$day_file" ]]; then
    printf '\033[0;33mTODO: \033[0m'
  fi

  if [[ -f "$shell_file" ]]; then
    cat "$shell_file" | tr '\n' ' '
  elif [[ -f "$day_file" ]]; then
    cat "$day_file" | tr '\n' ' '
  fi

  if [[ -f "$shell_file" || -f "$day_file" ]]; then
    echo
  fi
}