| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 | 2 |
| 3 # Copyright (c) 2012 Google Inc. All rights reserved. | 3 # Copyright (c) 2012 Google Inc. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
| 6 | 6 |
| 7 """Pretty-prints the contents of a GYP file.""" | 7 """Pretty-prints the contents of a GYP file.""" |
| 8 | 8 |
| 9 from __future__ import print_function |
| 10 |
| 9 import sys | 11 import sys |
| 10 import re | 12 import re |
| 11 | 13 |
| 12 | 14 |
| 13 # Regex to remove comments when we're counting braces. | 15 # Regex to remove comments when we're counting braces. |
| 14 COMMENT_RE = re.compile(r'\s*#.*') | 16 COMMENT_RE = re.compile(r'\s*#.*') |
| 15 | 17 |
| 16 # Regex to remove quoted strings when we're counting braces. | 18 # Regex to remove quoted strings when we're counting braces. |
| 17 # It takes into account quoted quotes, and makes sure that the quotes match. | 19 # It takes into account quoted quotes, and makes sure that the quotes match. |
| 18 # NOTE: It does not handle quotes that span more than one line, or | 20 # NOTE: It does not handle quotes that span more than one line, or |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 basic_offset = 2 | 120 basic_offset = 2 |
| 119 last_line = "" | 121 last_line = "" |
| 120 for line in lines: | 122 for line in lines: |
| 121 line = line.strip('\r\n\t ') # Otherwise doesn't strip \r on Unix. | 123 line = line.strip('\r\n\t ') # Otherwise doesn't strip \r on Unix. |
| 122 if len(line) > 0: | 124 if len(line) > 0: |
| 123 brace_diff = 0 | 125 brace_diff = 0 |
| 124 if not COMMENT_RE.match(line): | 126 if not COMMENT_RE.match(line): |
| 125 (brace_diff, after) = count_braces(line) | 127 (brace_diff, after) = count_braces(line) |
| 126 if brace_diff != 0: | 128 if brace_diff != 0: |
| 127 if after: | 129 if after: |
| 128 print " " * (basic_offset * indent) + line | 130 print(" " * (basic_offset * indent) + line) |
| 129 indent += brace_diff | 131 indent += brace_diff |
| 130 else: | 132 else: |
| 131 indent += brace_diff | 133 indent += brace_diff |
| 132 print " " * (basic_offset * indent) + line | 134 print(" " * (basic_offset * indent) + line) |
| 133 else: | 135 else: |
| 134 print " " * (basic_offset * indent) + line | 136 print(" " * (basic_offset * indent) + line) |
| 135 else: | 137 else: |
| 136 print "" | 138 print("") |
| 137 last_line = line | 139 last_line = line |
| 138 | 140 |
| 139 | 141 |
| 140 def main(): | 142 def main(): |
| 141 if len(sys.argv) > 1: | 143 if len(sys.argv) > 1: |
| 142 data = open(sys.argv[1]).read().splitlines() | 144 data = open(sys.argv[1]).read().splitlines() |
| 143 else: | 145 else: |
| 144 data = sys.stdin.read().splitlines() | 146 data = sys.stdin.read().splitlines() |
| 145 # Split up the double braces. | 147 # Split up the double braces. |
| 146 lines = split_double_braces(data) | 148 lines = split_double_braces(data) |
| 147 | 149 |
| 148 # Indent and print the output. | 150 # Indent and print the output. |
| 149 prettyprint_input(lines) | 151 prettyprint_input(lines) |
| 150 return 0 | 152 return 0 |
| 151 | 153 |
| 152 | 154 |
| 153 if __name__ == '__main__': | 155 if __name__ == '__main__': |
| 154 sys.exit(main()) | 156 sys.exit(main()) |
| OLD | NEW |