+ local root_item=$1 tree=$2 subtree=$3
+ local -a items arr
+ local -A ids
+ local old_root dflt_item
+ local item id OIFS
+ local -i i=0
+
+ while read -a arr; do
+ ((${#arr[@]} == 0)) && continue
+ id=${arr[0]}
+ if ((${#arr[@]} > 1)); then
+ unset arr[0];
+ item=${arr[*]}
+ if [[ "${id:$((${#id} - 1)):1}" == '/' ]]; then
+ item+=/
+ else
+ item="• $item"
+ fi
+ else
+ item=$id
+ fi
+ items[$i]=$item
+ ids["$item"]=$id
+ let i++
+ done <<< "$subtree"
+ dflt_item=${items[0]}