| ... | @@ -420,12 +420,21 @@ fn render_cmake( | ... | @@ -420,12 +420,21 @@ fn render_cmake( |
| 420 | }; | 420 | }; |
| 421 | defer allocator.free(line); | 421 | defer allocator.free(line); |
| 422 | | 422 | |
| 423 | if (!std.mem.startsWith(u8, line, "#")) { | 423 | const line_start = std.mem.findNone(u8, line, " \t\r") orelse { |
| | 424 | try bw.writeAll(line); |
| | 425 | if (!last_line) try bw.writeByte('\n'); |
| | 426 | continue; |
| | 427 | }; |
| | 428 | const whitespace_prefix = line[0..line_start]; |
| | 429 | const trimmed_line = line[line_start..]; |
| | 430 | |
| | 431 | if (!std.mem.startsWith(u8, trimmed_line, "#")) { |
| 424 | try bw.writeAll(line); | 432 | try bw.writeAll(line); |
| 425 | if (!last_line) try bw.writeByte('\n'); | 433 | if (!last_line) try bw.writeByte('\n'); |
| 426 | continue; | 434 | continue; |
| 427 | } | 435 | } |
| 428 | var it = std.mem.tokenizeAny(u8, line[1..], " \t\r"); | 436 | |
| | 437 | var it = std.mem.tokenizeAny(u8, trimmed_line[1..], " \t\r"); |
| 429 | const cmakedefine = it.next().?; | 438 | const cmakedefine = it.next().?; |
| 430 | if (!std.mem.eql(u8, cmakedefine, "cmakedefine") and | 439 | if (!std.mem.eql(u8, cmakedefine, "cmakedefine") and |
| 431 | !std.mem.eql(u8, cmakedefine, "cmakedefine01")) | 440 | !std.mem.eql(u8, cmakedefine, "cmakedefine01")) |
| ... | @@ -502,6 +511,7 @@ fn render_cmake( | ... | @@ -502,6 +511,7 @@ fn render_cmake( |
| 502 | value = Value{ .ident = it.rest() }; | 511 | value = Value{ .ident = it.rest() }; |
| 503 | } | 512 | } |
| 504 | | 513 | |
| | 514 | try bw.writeAll(whitespace_prefix); |
| 505 | try renderValueC(bw, name, value); | 515 | try renderValueC(bw, name, value); |
| 506 | } | 516 | } |
| 507 | | 517 | |