added option to disable final filter

The option marker was chosen as "-x" here.
Alternatives might be "-X" or "-*".
This commit is contained in:
FND
2009-08-30 09:48:44 +01:00
parent 266d9e1258
commit 490f5d34e8
2 changed files with 37 additions and 2 deletions

View File

@@ -54,7 +54,34 @@ TODO: 3 of 3 tasks shown from $HOME/todo.txt
EOF
#
# check the p command line option
# check the x command line option
#
TEST_TODO3_=todo3.cfg
sed -e "s%^.*export TODOTXT_FINAL_FILTER=.*$%export TODOTXT_FINAL_FILTER=\"grep -v xxx\"%" "${TEST_TODO_}" > "${TEST_TODO3_}"
cat > todo.txt <<EOF
foo
bar xxx
baz
EOF
test_todo_session 'final filter suppression' <<EOF
>>> todo.sh -d "$TEST_TODO3_" ls
3 baz
1 foo
--
TODO: 2 of 3 tasks shown from $HOME/todo.txt
>>> todo.sh -d "$TEST_TODO3_" -x ls
2 bar xxx
3 baz
1 foo
--
TODO: 3 of 3 tasks shown from $HOME/todo.txt
EOF
#
# check the p command line option
#
cat > todo.txt <<EOF
(A) @con01 +prj01 -- Some project 01 task, pri A

10
todo.sh
View File

@@ -196,6 +196,8 @@ help()
Extra verbose mode prints some debugging information
-V
Displays version, license and credits
-x
Disables TODOTXT_FINAL_FILTER
Environment variables:
@@ -256,7 +258,7 @@ archive()
# == PROCESS OPTIONS ==
while getopts ":fhpnatvV+@Pd:" Option
while getopts ":fhpnatvVx+@Pd:" Option
do
case $Option in
'@' )
@@ -334,6 +336,9 @@ do
V )
version
;;
x )
TODOTXT_DISABLE_FILTER=1
;;
esac
done
shift $(($OPTIND - 1))
@@ -497,6 +502,9 @@ _list() {
## Number the file, then run the filter command,
## then sort and mangle output some more
if [[ $TODOTXT_DISABLE_FILTER = 1 ]]; then
TODOTXT_FINAL_FILTER="cat"
fi
items=$(
sed = "$src" \
| sed "N; s/^/ /; s/ *\(.\{$PADDING,\}\)\n/\1 /" \