Optimization: Put grep -v empty task filter inside sed.
No need to spawn off another process for this; we can do this inside the sed command that joins the task numbers with the task text.
Note: The sed on OS X does not understand the \+ bound, only in the form of + when used with -E. Instead, I chose to fall back to the \{1,\} basic regexp, in the hope that it is very portable, and to avoid introducing extended regexps to the script.
This commit is contained in:
6
todo.sh
6
todo.sh
@@ -785,12 +785,12 @@ _list() {
|
|||||||
fi
|
fi
|
||||||
items=$(
|
items=$(
|
||||||
sed = "$src" \
|
sed = "$src" \
|
||||||
| sed '''
|
| sed -e '''
|
||||||
N
|
N
|
||||||
s/^/ /
|
s/^/ /
|
||||||
s/ *\([ 0-9]\{'"$PADDING"',\}\)\n/\1 /
|
s/ *\([ 0-9]\{'"$PADDING"',\}\)\n/\1 /
|
||||||
''' \
|
/^[ 0-9]\{1,\} *$/d
|
||||||
| grep -v "^[ 0-9]\+ *$"
|
'''
|
||||||
)
|
)
|
||||||
if [ "${filter_command}" ]; then
|
if [ "${filter_command}" ]; then
|
||||||
filtered_items=$(echo -n "$items" | eval "${filter_command}")
|
filtered_items=$(echo -n "$items" | eval "${filter_command}")
|
||||||
|
|||||||
Reference in New Issue
Block a user