blob: 785b0706be469c51cce0fc9deb24dffcc7f54624 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef TOOLS_GN_COMAND_FORMAT_H_
#define TOOLS_GN_COMAND_FORMAT_H_
#include <string>
class Setup;
class SourceFile;
namespace commands {
enum class TreeDumpMode {
// Normal operation mode. Format the input file.
kInactive,
// Output the token tree with indented plain text. For debugging.
kPlainText,
// Output the token tree in JSON format. Used for exporting a tree to another
// program.
kJSON
};
bool FormatFileToString(Setup* setup,
const SourceFile& file,
TreeDumpMode dump_tree,
std::string* output);
bool FormatStringToString(const std::string& input,
TreeDumpMode dump_tree,
std::string* output);
} // namespace commands
#endif // TOOLS_GN_COMAND_FORMAT_H_