function __tas_task_idx() {
  echo "$@" | sed 's/^[> ] \([0-9]\+\)\..\+$/\1/'
}

function __tas_show() {
  tas show $(__tas_task_idx "$1")
}

function __tas_start() {
  if [[ "$1" != ""  ]]; then
    tas start $(__tas_task_idx "$1")
  fi
}

function __tas_remove() {
  if [[ "$1" != ""  ]]; then
    tas remove $(__tas_task_idx "$1")
  fi
}

function __tas_list() {
  tas list | fzf \
    --info=inline --height=50% --no-sort --keep-right --layout=reverse \
    --preview="tas show \$(sed 's/^[> ] \\([0-9]\\+\\)\\..\\+$/\\1/' {+f})"
}

function taz() {
  case $1 in
    "" | "show" | "sh")
      __tas_show "$(__tas_list)"
      ;;

    "list" | "ls")
      __tas_list
      ;;

    "start" | "st")
      __tas_start "$(__tas_list)"
      ;;

    "remove" | "rm")
      __tas_remove "$(__tas_list)"
      ;;
    
  esac
}