if needs

= view_marker

if needs.count == 1
  > if [[ -n ${args['{{ name }}']+x} ]] && [[ -z "${args[{{ needs.first }}]:-}" ]]; then
  >   printf "%s\n" "{{ strings[:flag_needs_another] % { name: name, need: needs.first } }}" >&2
  >   exit 1
  > fi
  >
else
  > if [[ -n ${args['{{ name }}']+x} ]]; then
  >   for need in {{ needs.join ' ' }}; do
  >     if [[ -z "${args[$need]:-}" ]]; then
  >       printf "%s\n" "{{ strings[:flag_needs_another] % { name: name, need: "$need" } }}" >&2
  >       exit 1
  >     fi
  >   done
  > fi
  >
end

end