-while IFS= read -r line; do
- if [[ ${line} = @if* ]]; then
- line=${line#@if }
- for name in "${filters[@]}"; do
- if [[ ${line} = ${name}' '* ]]; then
- echo "${line#${name} }"
- fi
- done
- elif [[ ${line} = @begin* ]]; then
- set ${line}; shift
- filter=
- for name in "${filters[@]}"; do
- for side in "$@"; do
- if [[ ${name} == ${side} ]]; then
- unset filter
+function include() {
+ file=$1
+ shift
+
+ dir=/${file}
+ dir=${dir%/*}
+ dir=${dir:-/.}
+ dir=${dir#/}
+ dir=${dir}/
+
+ while IFS= read -r line; do
+ if false; then :
+ elif [[ ${line} = @if* ]]; then
+ line=${line#@if }
+ for name in "${filters[@]}"; do
+ if [[ ${line} = ${name}' '* ]]; then
+ echo "${line#${name} }"