Accept filters for listcon, too.

This has been implemented for listproj already, for consistency in use and implementation, the same should be available for listcon, too.
This commit is contained in:
Ingo Karkat
2012-04-13 10:47:56 +02:00
parent ebe6a403c8
commit 92322e7064
2 changed files with 16 additions and 4 deletions

View File

@@ -55,6 +55,16 @@ test_todo_session 'listcon e-mail address test' <<EOF
@con02
EOF
cat > todo.txt <<EOF
(B) smell the uppercase Roses +roses @outside +shared
(C) notice the sunflowers +sunflowers @garden +shared +landscape
stop
EOF
test_todo_session 'listcon with project' <<EOF
>>> todo.sh listcon +landscape
@garden
EOF
cat > todo.txt <<EOF
@con01 -- Some context 1 task
EOF

10
todo.sh
View File

@@ -58,7 +58,7 @@ shorthelp()
list|ls [TERM...]
listall|lsa [TERM...]
listaddons
listcon|lsc
listcon|lsc [TERM...]
listfile|lf [SRC [TERM...]]
listpri|lsp [PRIORITIES] [TERM...]
listproj|lsprj [TERM...]
@@ -223,9 +223,10 @@ help()
listaddons
Lists all added and overridden actions in the actions directory.
listcon
lsc
listcon [TERM...]
lsc [TERM...]
Lists all the task contexts that start with the @ sign in todo.txt.
If TERM specified, considers only tasks that contain TERM(s).
listfile [SRC [TERM...]]
lf [SRC [TERM...]]
@@ -1135,7 +1136,8 @@ case $action in
"listcon" | "lsc" )
FILE=$TODO_FILE
[ "$TODOTXT_SOURCEVAR" ] && eval "FILE=$TODOTXT_SOURCEVAR"
grep -ho '[^ ]*@[^ ]\+' "${FILE[@]}" | grep '^@' | sort -u
shift
eval "$(filtercommand 'cat "${FILE[@]}"' '' "$@")" | grep -o '[^ ]*@[^ ]\+' | grep '^@' | sort -u
;;
"listproj" | "lsprj" )