| ... | ... | @@ -969,7 +969,7 @@ fn tokenizeAndPrintRaw( |
| 969 | 969 | source_token: Token, |
| 970 | 970 | raw_src: []const u8, |
| 971 | 971 | ) !void { |
| 972 | | const src_non_terminated = mem.trim(u8, raw_src, " \n"); |
| 972 | const src_non_terminated = mem.trim(u8, raw_src, " \r\n"); |
| 973 | 973 | const src = try allocator.dupeZ(u8, src_non_terminated); |
| 974 | 974 | |
| 975 | 975 | try out.writeAll("<code>" ++ start_line); |
| ... | ... | @@ -1232,7 +1232,7 @@ fn printSourceBlock(allocator: Allocator, docgen_tokenizer: *Tokenizer, out: any |
| 1232 | 1232 | .zig => try tokenizeAndPrint(allocator, docgen_tokenizer, out, syntax_block.source_token), |
| 1233 | 1233 | else => { |
| 1234 | 1234 | const raw_source = docgen_tokenizer.buffer[syntax_block.source_token.start..syntax_block.source_token.end]; |
| 1235 | | const trimmed_raw_source = mem.trim(u8, raw_source, " \n"); |
| 1235 | const trimmed_raw_source = mem.trim(u8, raw_source, " \r\n"); |
| 1236 | 1236 | |
| 1237 | 1237 | try out.writeAll("<code>" ++ start_line); |
| 1238 | 1238 | try writeEscapedLines(out, trimmed_raw_source); |
| ... | ... | @@ -1243,12 +1243,12 @@ fn printSourceBlock(allocator: Allocator, docgen_tokenizer: *Tokenizer, out: any |
| 1243 | 1243 | } |
| 1244 | 1244 | |
| 1245 | 1245 | fn printShell(out: anytype, shell_content: []const u8, escape: bool) !void { |
| 1246 | | const trimmed_shell_content = mem.trim(u8, shell_content, " \n"); |
| 1246 | const trimmed_shell_content = mem.trim(u8, shell_content, " \r\n"); |
| 1247 | 1247 | try out.writeAll("<figure><figcaption class=\"shell-cap\">Shell</figcaption><pre><samp>"); |
| 1248 | 1248 | var cmd_cont: bool = false; |
| 1249 | 1249 | var iter = std.mem.splitScalar(u8, trimmed_shell_content, '\n'); |
| 1250 | 1250 | while (iter.next()) |orig_line| { |
| 1251 | | const line = mem.trimRight(u8, orig_line, " "); |
| 1251 | const line = mem.trimRight(u8, orig_line, " \r"); |
| 1252 | 1252 | if (!cmd_cont and line.len > 1 and mem.eql(u8, line[0..2], "$ ") and line[line.len - 1] != '\\') { |
| 1253 | 1253 | try out.writeAll("$ <kbd>"); |
| 1254 | 1254 | const s = std.mem.trimLeft(u8, line[1..], " "); |
| ... | ... | @@ -1380,7 +1380,7 @@ fn genHtml( |
| 1380 | 1380 | } |
| 1381 | 1381 | |
| 1382 | 1382 | const raw_source = tokenizer.buffer[code.source_token.start..code.source_token.end]; |
| 1383 | | const trimmed_raw_source = mem.trim(u8, raw_source, " \n"); |
| 1383 | const trimmed_raw_source = mem.trim(u8, raw_source, " \r\n"); |
| 1384 | 1384 | const tmp_source_file_name = try fs.path.join( |
| 1385 | 1385 | allocator, |
| 1386 | 1386 | &[_][]const u8{ tmp_dir_name, name_plus_ext }, |
| ... | ... | @@ -2121,6 +2121,20 @@ test "printShell" { |
| 2121 | 2121 | try printShell(buffer.writer(), shell_out, false); |
| 2122 | 2122 | try testing.expectEqualSlices(u8, expected, buffer.items); |
| 2123 | 2123 | } |
| 2124 | { |
| 2125 | const shell_out = "$ zig build test.zig\r\nbuild output\r\n"; |
| 2126 | const expected = |
| 2127 | \\<figure><figcaption class="shell-cap">Shell</figcaption><pre><samp>$ <kbd>zig build test.zig</kbd> |
| 2128 | \\build output |
| 2129 | \\</samp></pre></figure> |
| 2130 | ; |
| 2131 | |
| 2132 | var buffer = std.ArrayList(u8).init(test_allocator); |
| 2133 | defer buffer.deinit(); |
| 2134 | |
| 2135 | try printShell(buffer.writer(), shell_out, false); |
| 2136 | try testing.expectEqualSlices(u8, expected, buffer.items); |
| 2137 | } |
| 2124 | 2138 | { |
| 2125 | 2139 | const shell_out = |
| 2126 | 2140 | \\$ zig build test.zig |