docs: def cmd_tree(conf: Config):
      """Print out a neat targets dependency tree based on requested targets."""
      build_context = BuildContext(conf)
      populate_targets_graph(build_context, conf)
  
      def print_target_with_deps(target, depth=2):
          print('{: >{}}{}'.format('+-', depth, target.name))
          for dep in sorted(
                  build_context.target_graph.neighbors(target.name)):
              print_target_with_deps(build_context.targets[dep], depth + 2)
  
      if conf.targets:
          for target_name in sorted(parse_target_selectors(conf.targets, conf)):
              mod, name = split(target_name)
              if name == '*':
                  for target_name in sorted(
                          build_context.targets_by_module[mod]):
                      print_target_with_deps(build_context.targets[target_name])
              else:
                  print_target_with_deps(build_context.targets[target_name])
      else:
          for _, target in sorted(build_context.targets.items()):
              print_target_with_deps(target)