BUG: listpri picked up non-priority patterns.
The regexp for the priority wasn't anchored to the beginning of the task. (As the filtering is done inside the _list pipeline, the task number has already been prepended.) Also, by passing the regexp directly to _list, a case-insensitive search was performed, so despite [A-Z], lowercase characters were picked up, too. Need to make use of post_filter_command to inject a separate, case-sensitive grep into the pipeline. Bonus: Added test for highlighting of listpri command.
This commit is contained in:
committed by
Gina Trapani
parent
f8b66f117a
commit
0fa5f6d1dd
13
todo.sh
13
todo.sh
@@ -1016,7 +1016,18 @@ case $action in
|
||||
"listpri" | "lsp" )
|
||||
shift ## was "listpri", new $1 is priority to list or first TERM
|
||||
|
||||
pri=$(printf "%s\n" "$1" | tr 'a-z' 'A-Z' | grep '^[A-Z]$') && shift || pri="[A-Z]"
|
||||
if [ "${1:-}" ]
|
||||
then
|
||||
## A priority was specified
|
||||
pri=$( printf "%s\n" "$1" | tr 'a-z' 'A-Z' | grep '^[A-Z]$' ) || {
|
||||
die "usage: $TODO_SH listpri PRIORITY
|
||||
note: PRIORITY must a single letter from A to Z."
|
||||
}
|
||||
else
|
||||
## No priority specified; show all priority tasks
|
||||
pri="[A-Z]"
|
||||
fi
|
||||
|
||||
post_filter_command="grep '^ *[0-9]\+ (${pri}) '"
|
||||
_list "$TODO_FILE" "$@"
|
||||
;;
|
||||
|
||||
Reference in New Issue
Block a user