Compare commits

..

3 Commits

Author SHA1 Message Date
Ingo Karkat
3b0309d9bc Replace backticks in config with $(...)
This applies e24777fa2c to todo.cfg, too, and adds a verification to the existing test.

Note: Because todo.cfg is preprocessed by test-lib, we use the original config from the working copy, not the copy inside the test fixture.
2012-04-15 10:37:41 +02:00
Ingo Karkat
b21d16878f Tests: Hard-code location of todo.sh.
As todo.sh is placed by test-lib at a fixed place, avoid the lookup through which.
2012-04-15 10:35:17 +02:00
Ingo Karkat
3e82f3ca56 Tests: Extract backtick_check(). 2012-04-15 10:33:51 +02:00
4 changed files with 21 additions and 33 deletions

View File

@@ -9,8 +9,15 @@ On failure, it will print each offending line number and line.
'
. ./test-lib.sh
backtick_check()
{
sed -n -e 's/\(^\|[ \t]\)#.*//' -e '/`/{' -e '=;p' -e '}' "$@"
}
test_todo_session 'no old-style backtick command substitution' <<EOF
>>> sed -n -e 's/\(^\|[ \t]\)#.*//' -e '/\`/{' -e '=;p' -e '}' "$(which todo.sh)"
>>> backtick_check bin/todo.sh
>>> backtick_check ../../todo.cfg
EOF
test_done

View File

@@ -55,16 +55,6 @@ 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

View File

@@ -2,7 +2,7 @@
# Your todo.txt directory
#export TODO_DIR="/Users/gina/Documents/todo"
export TODO_DIR=`dirname "$0"`
export TODO_DIR=$(dirname "$0")
# Your todo/done/report.txt locations
export TODO_FILE="$TODO_DIR/todo.txt"

33
todo.sh
View File

@@ -58,7 +58,7 @@ shorthelp()
list|ls [TERM...]
listall|lsa [TERM...]
listaddons
listcon|lsc [TERM...]
listcon|lsc
listfile|lf [SRC [TERM...]]
listpri|lsp [PRIORITIES] [TERM...]
listproj|lsprj [TERM...]
@@ -223,10 +223,9 @@ help()
listaddons
Lists all added and overridden actions in the actions directory.
listcon [TERM...]
lsc [TERM...]
listcon
lsc
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...]]
@@ -246,11 +245,10 @@ help()
Hides all tasks that contain TERM(s) preceded by a minus sign
(i.e. -TERM).
listproj [TERM...]
lsprj [TERM...]
listproj
lsprj
Lists all the projects (terms that start with a + sign) in
todo.txt.
If TERM specified, considers only tasks that contain TERM(s).
move ITEM# DEST [SRC]
mv ITEM# DEST [SRC]
@@ -860,17 +858,7 @@ _format()
fi
}
listWordsWithSigil()
{
sigil=$1
shift
FILE=$TODO_FILE
[ "$TODOTXT_SOURCEVAR" ] && eval "FILE=$TODOTXT_SOURCEVAR"
eval "$(filtercommand 'cat "${FILE[@]}"' '' "$@")" | grep -o "[^ ]*${sigil}[^ ]\\+" | grep "^$sigil" | sort -u
}
export -f cleaninput getPrefix getTodo getNewtodo shellquote filtercommand _list listWordsWithSigil getPadding _format die
export -f cleaninput getPrefix getTodo getNewtodo shellquote filtercommand _list getPadding _format die
# == HANDLE ACTION ==
action=$( printf "%s\n" "$ACTION" | tr 'A-Z' 'a-z' )
@@ -1145,13 +1133,16 @@ case $action in
;;
"listcon" | "lsc" )
shift
listWordsWithSigil '@' "$@"
FILE=$TODO_FILE
[ "$TODOTXT_SOURCEVAR" ] && eval "FILE=$TODOTXT_SOURCEVAR"
grep -ho '[^ ]*@[^ ]\+' "${FILE[@]}" | grep '^@' | sort -u
;;
"listproj" | "lsprj" )
FILE=$TODO_FILE
[ "$TODOTXT_SOURCEVAR" ] && eval "FILE=$TODOTXT_SOURCEVAR"
shift
listWordsWithSigil '+' "$@"
eval "$(filtercommand 'cat "${FILE[@]}"' '' "$@")" | grep -o '[^ ]*+[^ ]\+' | grep '^+' | sort -u
;;
"listpri" | "lsp" )