| // Copyright (c) 2013 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_STANDARD_OUT_H_ | |
| #define TOOLS_GN_STANDARD_OUT_H_ | |
| #include <string> | |
| enum TextDecoration { | |
| DECORATION_NONE = 0, | |
| DECORATION_DIM, | |
| DECORATION_RED, | |
| DECORATION_GREEN, | |
| DECORATION_BLUE, | |
| DECORATION_YELLOW | |
| }; | |
| void OutputString(const std::string& output, | |
| TextDecoration dec = DECORATION_NONE); | |
| // If printing markdown, this generates table-of-contents entries with | |
| // links to the actual help; otherwise, prints a one-line description. | |
| void PrintSectionHelp(const std::string& line, | |
| const std::string& topic, | |
| const std::string& tag); | |
| // Prints a line for a command, assuming there is a colon. Everything before | |
| // the colon is the command (and is highlighted). After the colon if there is | |
| // a square bracket, the contents of the bracket is dimmed. | |
| // | |
| // The line is indented 2 spaces. | |
| void PrintShortHelp(const std::string& line); | |
| // Rules: | |
| // - Lines beginning with non-whitespace are highlighted up to the first | |
| // colon (or the whole line if not). | |
| // - Lines whose first non-whitespace character is a # are dimmed. | |
| void PrintLongHelp(const std::string& text, const std::string& tag = ""); | |
| #endif // TOOLS_GN_STANDARD_OUT_H_ |