[command_args] Strip the preceding whitespace in comments if not padding
For json output, the space between the # and the comment itself was not
stripped, this fixes it.
Change-Id: I8e8699785cb9444f895bfdd8795ee88b01acc0bf
Reviewed-on: https://gn-review.googlesource.com/2080
Reviewed-by: Brett Wilson <brettw@chromium.org>
Commit-Queue: Brett Wilson <brettw@chromium.org>
diff --git a/tools/gn/command_args.cc b/tools/gn/command_args.cc
index 64ae362..4e3a43f 100644
--- a/tools/gn/command_args.cc
+++ b/tools/gn/command_args.cc
@@ -72,9 +72,14 @@
// normal comment that has a space after the # will be indented 4 spaces
// (which makes our formatting come out nicely). If the comment is indented
// from there, we want to preserve that indenting.
+ std::string line_stripped = line.substr(line.find('#') + 1).as_string();
if (pad)
- return " " + line.substr(line.find('#') + 1).as_string();
- return line.substr(line.find('#') + 1).as_string();
+ return " " + line_stripped;
+
+ // If not padding, strip the leading space if present.
+ if (!line_stripped.empty() && line_stripped[0] == ' ')
+ return line_stripped.substr(1);
+ return line_stripped;
}
// Tries to find the comment before the setting of the given value.