#!/bin/bash # - These filters not modified, as their purpose is for special review # not dependent on context or focus: # - report.all.filter # - report.completed.filter status:completed # - What is this -FILTER about in my filters? # - In each filter, we negate a non-existent virtual tag -FILTER that # doesn't change what the filter matches but does add a recognizable # marker. This is used later to substitute the filter with a new one when # it changes. # - CAUTION: do not add any additional (i.e. non-context, non-focus) material # after -FILTER in the report filter variables or else it will be lost next # time the context or focus is changed. script_path=$(dirname ${0}) . "${script_path}/task_functions.sh" filter_type=$(basename ${0}) task_config "${filter_type}.current" "${@}" context=$(task_get context.current) focus=$(task_get focus.current) colored_context="$(task_color 'white on red' ${context})" colored_focus="$(task_color 'white on blue' ${focus})" filter="${context} ${focus}" filter_vars=$(task_vars filter) filter_vars=${filter_vars/report.all.filter/} filter_vars=${filter_vars/report.completed.filter/} for var in ${filter_vars}; do old_value=$(task_get ${var}) old_value=${old_value/%-FILTER*/} task_config ${var} ${old_value} -FILTER ${filter} done task_config "shell.prompt" "${colored_context}:${colored_focus}>" echo "Filter applied to reports and add: ${filter}"