class Chef::Knife::Delete

def run

def run
  if name_args.length == 0
    show_usage
    ui.fatal("You must specify at least one argument. If you want to delete everything in this directory, run \"knife delete --recurse .\"")
    exit 1
  end
  # Get the matches (recursively)

  error = false
  if config[:local]
    pattern_args.each do |pattern|
      Chef::ChefFS::FileSystem.list(local_fs, pattern).each do |result|
        if delete_result(result)
          error = true
        end
      end
    end
  elsif config[:both]
    pattern_args.each do |pattern|
      Chef::ChefFS::FileSystem.list_pairs(pattern, chef_fs, local_fs).each do |chef_result, local_result|
        if delete_result(chef_result, local_result)
          error = true
        end
      end
    end
  else # Remote only

    pattern_args.each do |pattern|
      Chef::ChefFS::FileSystem.list(chef_fs, pattern).each do |result|
        if delete_result(result)
          error = true
        end
      end
    end
  end
  if error
    exit 1
  end
end