class Chef::Knife::List

def add_dir_result(result)

def add_dir_result(result)
  begin
    children = result.children.sort_by(&:name)
  rescue Chef::ChefFS::FileSystem::NotFoundError => e
    ui.error "#{format_path(e.entry)}: No such file or directory"
    return []
  end
  result = [ [ result, children ] ]
  if config[:recursive]
    child_dirs = children.select(&:dir?)
    result += parallelize(child_dirs) { |child| add_dir_result(child) }.flatten(1).to_a
  end
  result
end