Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(416)

Side by Side Diff: tools/gn/command_help.cc

Issue 610293003: Replace more for loops in GN (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/gn/command_desc.cc ('k') | tools/gn/command_ls.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <algorithm> 5 #include <algorithm>
6 #include <iostream> 6 #include <iostream>
7 7
8 #include "tools/gn/args.h" 8 #include "tools/gn/args.h"
9 #include "tools/gn/commands.h" 9 #include "tools/gn/commands.h"
10 #include "tools/gn/err.h" 10 #include "tools/gn/err.h"
11 #include "tools/gn/functions.h" 11 #include "tools/gn/functions.h"
12 #include "tools/gn/input_conversion.h" 12 #include "tools/gn/input_conversion.h"
13 #include "tools/gn/label_pattern.h" 13 #include "tools/gn/label_pattern.h"
14 #include "tools/gn/setup.h" 14 #include "tools/gn/setup.h"
15 #include "tools/gn/standard_out.h" 15 #include "tools/gn/standard_out.h"
16 #include "tools/gn/substitution_writer.h" 16 #include "tools/gn/substitution_writer.h"
17 #include "tools/gn/variables.h" 17 #include "tools/gn/variables.h"
18 18
19 namespace commands { 19 namespace commands {
20 20
21 namespace { 21 namespace {
22 22
23 void PrintToplevelHelp() { 23 void PrintToplevelHelp() {
24 OutputString("Commands (type \"gn help <command>\" for more details):\n"); 24 OutputString("Commands (type \"gn help <command>\" for more details):\n");
25 25 for (const auto& cmd : commands::GetCommands())
26 const commands::CommandInfoMap& command_map = commands::GetCommands(); 26 PrintShortHelp(cmd.second.help_short);
27 for (commands::CommandInfoMap::const_iterator i = command_map.begin();
28 i != command_map.end(); ++i)
29 PrintShortHelp(i->second.help_short);
30 27
31 OutputString( 28 OutputString(
32 "\n" 29 "\n"
33 "Common switches:\n"); 30 "Common switches:\n");
34 PrintShortHelp( 31 PrintShortHelp(
35 "--args: Specifies build arguments overrides. " 32 "--args: Specifies build arguments overrides. "
36 "See \"gn help buildargs\"."); 33 "See \"gn help buildargs\".");
37 PrintShortHelp( 34 PrintShortHelp(
38 "--[no]color: Forces colored output on or off (rather than autodetect)."); 35 "--[no]color: Forces colored output on or off (rather than autodetect).");
39 PrintShortHelp( 36 PrintShortHelp(
40 "--dotfile: Specifies an alternate .gn file. See \"gn help dotfile\"."); 37 "--dotfile: Specifies an alternate .gn file. See \"gn help dotfile\".");
41 PrintShortHelp( 38 PrintShortHelp(
42 "--no-exec: Skips exec_script calls (for performance testing)."); 39 "--no-exec: Skips exec_script calls (for performance testing).");
43 PrintShortHelp( 40 PrintShortHelp(
44 "-q: Quiet mode, don't print anything on success."); 41 "-q: Quiet mode, don't print anything on success.");
45 PrintShortHelp( 42 PrintShortHelp(
46 "--root: Specifies source root (overrides .gn file)."); 43 "--root: Specifies source root (overrides .gn file).");
47 PrintShortHelp( 44 PrintShortHelp(
48 "--time: Outputs a summary of how long everything took."); 45 "--time: Outputs a summary of how long everything took.");
49 PrintShortHelp( 46 PrintShortHelp(
50 "--tracelog: Writes a Chrome-compatible trace log to the given file."); 47 "--tracelog: Writes a Chrome-compatible trace log to the given file.");
51 PrintShortHelp( 48 PrintShortHelp(
52 "-v: Verbose mode, print lots of logging."); 49 "-v: Verbose mode, print lots of logging.");
53 PrintShortHelp( 50 PrintShortHelp(
54 "--version: Print the GN binary's version and exit."); 51 "--version: Print the GN binary's version and exit.");
55 52
56 // Target declarations. 53 // Target declarations.
57 OutputString("\nTarget declarations (type \"gn help <function>\" for more " 54 OutputString("\nTarget declarations (type \"gn help <function>\" for more "
58 "details):\n"); 55 "details):\n");
59 const functions::FunctionInfoMap& function_map = functions::GetFunctions(); 56 for (const auto& func : functions::GetFunctions()) {
60 for (functions::FunctionInfoMap::const_iterator i = function_map.begin(); 57 if (func.second.is_target)
61 i != function_map.end(); ++i) { 58 PrintShortHelp(func.second.help_short);
62 if (i->second.is_target)
63 PrintShortHelp(i->second.help_short);
64 } 59 }
65 60
66 // Functions. 61 // Functions.
67 OutputString("\nBuildfile functions (type \"gn help <function>\" for more " 62 OutputString("\nBuildfile functions (type \"gn help <function>\" for more "
68 "details):\n"); 63 "details):\n");
69 for (functions::FunctionInfoMap::const_iterator i = function_map.begin(); 64 for (const auto& func : functions::GetFunctions()) {
70 i != function_map.end(); ++i) { 65 if (!func.second.is_target)
71 if (!i->second.is_target) 66 PrintShortHelp(func.second.help_short);
72 PrintShortHelp(i->second.help_short);
73 } 67 }
74 68
75 // Built-in variables. 69 // Built-in variables.
76 OutputString("\nBuilt-in predefined variables (type \"gn help <variable>\" " 70 OutputString("\nBuilt-in predefined variables (type \"gn help <variable>\" "
77 "for more details):\n"); 71 "for more details):\n");
78 const variables::VariableInfoMap& builtin_vars = 72 for (const auto& builtin : variables::GetBuiltinVariables())
79 variables::GetBuiltinVariables(); 73 PrintShortHelp(builtin.second.help_short);
80 for (variables::VariableInfoMap::const_iterator i = builtin_vars.begin();
81 i != builtin_vars.end(); ++i)
82 PrintShortHelp(i->second.help_short);
83 74
84 // Target variables. 75 // Target variables.
85 OutputString("\nVariables you set in targets (type \"gn help <variable>\" " 76 OutputString("\nVariables you set in targets (type \"gn help <variable>\" "
86 "for more details):\n"); 77 "for more details):\n");
87 const variables::VariableInfoMap& target_vars = 78 for (const auto& target : variables::GetTargetVariables())
88 variables::GetTargetVariables(); 79 PrintShortHelp(target.second.help_short);
89 for (variables::VariableInfoMap::const_iterator i = target_vars.begin();
90 i != target_vars.end(); ++i)
91 PrintShortHelp(i->second.help_short);
92 80
93 OutputString("\nOther help topics:\n"); 81 OutputString("\nOther help topics:\n");
94 PrintShortHelp("buildargs: How build arguments work."); 82 PrintShortHelp("buildargs: How build arguments work.");
95 PrintShortHelp("dotfile: Info about the toplevel .gn file."); 83 PrintShortHelp("dotfile: Info about the toplevel .gn file.");
96 PrintShortHelp("label_pattern: Matching more than one label."); 84 PrintShortHelp("label_pattern: Matching more than one label.");
97 PrintShortHelp( 85 PrintShortHelp(
98 "input_conversion: Processing input from exec_script and read_file."); 86 "input_conversion: Processing input from exec_script and read_file.");
99 PrintShortHelp("source_expansion: Map sources to outputs for scripts."); 87 PrintShortHelp("source_expansion: Map sources to outputs for scripts.");
100 } 88 }
101 89
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 return 0; 163 return 0;
176 } 164 }
177 165
178 // No help on this. 166 // No help on this.
179 Err(Location(), "No help on \"" + args[0] + "\".").PrintToStdout(); 167 Err(Location(), "No help on \"" + args[0] + "\".").PrintToStdout();
180 RunHelp(std::vector<std::string>()); 168 RunHelp(std::vector<std::string>());
181 return 1; 169 return 1;
182 } 170 }
183 171
184 } // namespace commands 172 } // namespace commands
OLDNEW
« no previous file with comments | « tools/gn/command_desc.cc ('k') | tools/gn/command_ls.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698