Compare commits
1 Commits
archive/co
...
archive/si
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
99dc4dce9f |
@@ -53,28 +53,9 @@ TODO: 2 prioritized (C).
|
||||
--
|
||||
TODO: 3 of 3 tasks shown
|
||||
|
||||
>>> todo.sh add "smell the coffee +wakeup"
|
||||
4 smell the coffee +wakeup
|
||||
TODO: 4 added.
|
||||
|
||||
>>> todo.sh -p list
|
||||
1 (B) smell the uppercase Roses +flowers @outside
|
||||
2 (C) notice the sunflowers
|
||||
4 smell the coffee +wakeup
|
||||
3 stop
|
||||
--
|
||||
TODO: 4 of 4 tasks shown
|
||||
EOF
|
||||
|
||||
cat > todo.txt <<EOF
|
||||
(B) smell the uppercase Roses +flowers @outside
|
||||
(C) notice the sunflowers
|
||||
stop
|
||||
EOF
|
||||
test_todo_session 'reprioritize' <<EOF
|
||||
>>> todo.sh pri 2 A
|
||||
2 (A) notice the sunflowers
|
||||
TODO: 2 re-prioritized from (C) to (A).
|
||||
TODO: 2 prioritized (A).
|
||||
|
||||
>>> todo.sh -p list
|
||||
2 (A) notice the sunflowers
|
||||
@@ -85,12 +66,25 @@ TODO: 3 of 3 tasks shown
|
||||
|
||||
>>> todo.sh pri 2 a
|
||||
2 (A) notice the sunflowers
|
||||
TODO: 2 already prioritized (A).
|
||||
TODO: 2 prioritized (A).
|
||||
|
||||
>>> todo.sh -p listpri
|
||||
2 (A) notice the sunflowers
|
||||
1 (B) smell the uppercase Roses +flowers @outside
|
||||
--
|
||||
TODO: 2 of 3 tasks shown
|
||||
|
||||
>>> todo.sh add "smell the coffee +wakeup"
|
||||
4 smell the coffee +wakeup
|
||||
TODO: 4 added.
|
||||
|
||||
>>> todo.sh -p list
|
||||
2 (A) notice the sunflowers
|
||||
1 (B) smell the uppercase Roses +flowers @outside
|
||||
4 smell the coffee +wakeup
|
||||
3 stop
|
||||
--
|
||||
TODO: 4 of 4 tasks shown
|
||||
EOF
|
||||
|
||||
test_done
|
||||
|
||||
@@ -81,6 +81,6 @@ test_todo_session 'fail multiple do attempts' <<EOF
|
||||
TODO: 3 marked as done.
|
||||
|
||||
>>> todo.sh -a do 3
|
||||
TODO: 3 is already marked done.
|
||||
3 is already marked done
|
||||
EOF
|
||||
test_done
|
||||
|
||||
@@ -68,30 +68,4 @@ TODO: 2 deprioritized.
|
||||
TODO: 3 of 3 tasks shown
|
||||
EOF
|
||||
|
||||
cat > todo.txt <<EOF
|
||||
(B) smell the uppercase Roses +flowers @outside
|
||||
(A) notice the sunflowers
|
||||
stop
|
||||
EOF
|
||||
test_todo_session 'depriority of unprioritized task' <<EOF
|
||||
>>> todo.sh -p list
|
||||
2 (A) notice the sunflowers
|
||||
1 (B) smell the uppercase Roses +flowers @outside
|
||||
3 stop
|
||||
--
|
||||
TODO: 3 of 3 tasks shown
|
||||
|
||||
>>> todo.sh depri 3 2
|
||||
TODO: 3 is not prioritized.
|
||||
2 notice the sunflowers
|
||||
TODO: 2 deprioritized.
|
||||
|
||||
>>> todo.sh -p list
|
||||
1 (B) smell the uppercase Roses +flowers @outside
|
||||
2 notice the sunflowers
|
||||
3 stop
|
||||
--
|
||||
TODO: 3 of 3 tasks shown
|
||||
EOF
|
||||
|
||||
test_done
|
||||
|
||||
34
todo.sh
34
todo.sh
@@ -324,8 +324,8 @@ replaceOrPrepend()
|
||||
cleaninput $input
|
||||
|
||||
# Retrieve existing priority and prepended date
|
||||
priority=$(sed -e "$item!d" -e $item's/^\((.) \)\{0,1\}\([0-9]\{2,4\}-[0-9]\{2\}-[0-9]\{2\} \)\{0,1\}.*/\1/' "$TODO_FILE")
|
||||
prepdate=$(sed -e "$item!d" -e $item's/^\((.) \)\{0,1\}\([0-9]\{2,4\}-[0-9]\{2\}-[0-9]\{2\} \)\{0,1\}.*/\2/' "$TODO_FILE")
|
||||
priority=$(sed -e "$item!d" -e $item's/^\(([A-Z]) \)\{0,1\}\([0-9]\{2,4\}-[0-9]\{2\}-[0-9]\{2\} \)\{0,1\}.*/\1/' "$TODO_FILE")
|
||||
prepdate=$(sed -e "$item!d" -e $item's/^\(([A-Z]) \)\{0,1\}\([0-9]\{2,4\}-[0-9]\{2\}-[0-9]\{2\} \)\{0,1\}.*/\2/' "$TODO_FILE")
|
||||
|
||||
if [ "$prepdate" -a "$action" = "replace" ] && [ "$(echo "$input"|sed -e 's/^\([0-9]\{2,4\}-[0-9]\{2\}-[0-9]\{2\}\)\{0,1\}.*/\1/')" ]; then
|
||||
# If the replaced text starts with a date, it will replace the existing
|
||||
@@ -921,7 +921,10 @@ case $action in
|
||||
todo=$(sed "$item!d" "$TODO_FILE")
|
||||
[ -z "$todo" ] && die "TODO: No task $item."
|
||||
|
||||
if sed "$item!d" "$TODO_FILE" | grep "^(.) " > /dev/null; then
|
||||
sed -e $item"s/^(.) //" "$TODO_FILE" > /dev/null 2>&1
|
||||
|
||||
if [ "$?" -eq 0 ]; then
|
||||
#it's all good, continue
|
||||
sed -i.bak -e $item"s/^(.) //" "$TODO_FILE"
|
||||
if [ $TODOTXT_VERBOSE -gt 0 ]; then
|
||||
NEWTODO=$(sed "$item!d" "$TODO_FILE")
|
||||
@@ -929,7 +932,7 @@ case $action in
|
||||
echo "TODO: $item deprioritized."
|
||||
fi
|
||||
else
|
||||
echo "TODO: $item is not prioritized."
|
||||
die "$errmsg"
|
||||
fi
|
||||
done
|
||||
;;
|
||||
@@ -950,7 +953,7 @@ case $action in
|
||||
[ -z "$todo" ] && die "TODO: No task $item."
|
||||
|
||||
# Check if this item has already been done
|
||||
if [ `echo $todo | grep -c "^x "` -eq 0 ] ; then
|
||||
if [ "${todo:0:2}" != "x " ]; then
|
||||
now=`date '+%Y-%m-%d'`
|
||||
# remove priority once item is done
|
||||
sed -i.bak $item"s/^(.) //" "$TODO_FILE"
|
||||
@@ -961,7 +964,7 @@ case $action in
|
||||
echo "TODO: $item marked as done."
|
||||
fi
|
||||
else
|
||||
echo "TODO: $item is already marked done."
|
||||
echo "$item is already marked done"
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -1020,7 +1023,7 @@ case $action in
|
||||
}
|
||||
else
|
||||
## No priority specified; show all priority tasks
|
||||
pri="[A-Z]"
|
||||
pri="[[:upper:]]"
|
||||
fi
|
||||
pri="($pri)"
|
||||
|
||||
@@ -1086,23 +1089,18 @@ note: PRIORITY must be anywhere from A to Z."
|
||||
[[ "$item" = +([0-9]) ]] || die "$errmsg"
|
||||
[[ "$newpri" = @([A-Z]) ]] || die "$errmsg"
|
||||
|
||||
oldpri=$(sed -ne $item's/^(\(.\)) .*/\1/p' "$TODO_FILE")
|
||||
if [ "$oldpri" != "$newpri" ]; then
|
||||
sed -e $item"s/^(.) //" -e $item"s/^/($newpri) /" "$TODO_FILE" > /dev/null 2>&1
|
||||
|
||||
if [ "$?" -eq 0 ]; then
|
||||
#it's all good, continue
|
||||
sed -i.bak -e $item"s/^(.) //" -e $item"s/^/($newpri) /" "$TODO_FILE"
|
||||
fi
|
||||
if [ $TODOTXT_VERBOSE -gt 0 ]; then
|
||||
NEWTODO=$(sed "$item!d" "$TODO_FILE")
|
||||
echo "$item $NEWTODO"
|
||||
if [ "$oldpri" != "$newpri" ]; then
|
||||
if [ "$oldpri" ]; then
|
||||
echo "TODO: $item re-prioritized from ($oldpri) to ($newpri)."
|
||||
else
|
||||
echo "TODO: $item prioritized ($newpri)."
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if [ "$oldpri" = "$newpri" ]; then
|
||||
echo "TODO: $item already prioritized ($newpri)."
|
||||
else
|
||||
die "$errmsg"
|
||||
fi
|
||||
;;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user