datefmt: Define 1 year as 365.2425 days instead of 365.25
[sunny256-utils.git] / cts
blob95b85666b4a2528320d949ddd1bcc1d2369d601f
1 #!/bin/sh
3 #==============================================================================
4 # cts
5 # File ID: de561b1e-1d18-11e7-9fd8-db5caa6d21d3
7 # Create and start a new task in Taskwarrior.
9 # Author: Øyvind A. Holm <sunny@sunbase.org>
10 # License: GNU General Public License version 2 or later.
11 #==============================================================================
13 progname=cts
14 VERSION=0.3.0
16 opt_help=0
17 opt_quiet=0
18 opt_verbose=0
19 while test -n "$1"; do
20 case "$1" in
21 -h|--help) opt_help=1; shift ;;
22 -q|--quiet) opt_quiet=$(($opt_quiet + 1)); shift ;;
23 -v|--verbose) opt_verbose=$(($opt_verbose + 1)); shift ;;
24 --version) echo $progname $VERSION; exit 0 ;;
25 --) shift; break ;;
27 if printf '%s\n' "$1" | grep -q ^-; then
28 echo "$progname: $1: Unknown option" >&2
29 exit 1
30 else
31 break
33 break ;;
34 esac
35 done
36 opt_verbose=$(($opt_verbose - $opt_quiet))
38 if test "$opt_help" = "1"; then
39 test $opt_verbose -gt 0 && { echo; echo $progname $VERSION; }
40 cat <<END
42 Create and start a new task in Taskwarrior.
44 Usage: $progname [options] DESCRIPTION
46 Options:
48 -h, --help
49 Show this help.
50 -q, --quiet
51 Be more quiet. Can be repeated to increase silence.
52 -v, --verbose
53 Increase level of verbosity. Can be repeated.
54 --version
55 Print version information.
57 END
58 exit 0
61 if test -z "$1"; then
62 echo $progname: No description provided >&2
63 exit 1
66 t --is-active || exit 1
68 tmpfile="/tmp/cts.$(date +%s.$$).tmp"
70 t add "$@" | tee "$tmpfile"
71 eid=$(
72 grep ^Created "$tmpfile" | \
73 perl -pe 's/^Created task (\d+).*$/$1/;'
75 if test -z "$eid"; then
76 echo $progname: Could not get entry ID value >&2
77 echo $progname: Leaving tmpfile as $tmpfile >&2
78 exit 1
80 t start $eid
81 t active
82 rm "$tmpfile"
84 # vim: set ts=8 sw=8 sts=8 noet fo+=w tw=79 fenc=UTF-8 :