| ... | @@ -947,19 +947,8 @@ fn isType(name: []const u8) bool { | ... | @@ -947,19 +947,8 @@ fn isType(name: []const u8) bool { |
| 947 | return false; | 947 | return false; |
| 948 | } | 948 | } |
| 949 | | 949 | |
| 950 | const start_line = "<span class=\"line\">"; | | |
| 951 | const end_line = "</span>"; | | |
| 952 | | | |
| 953 | fn writeEscapedLines(out: anytype, text: []const u8) !void { | 950 | fn writeEscapedLines(out: anytype, text: []const u8) !void { |
| 954 | for (text) |char| { | 951 | return writeEscaped(out, text); |
| 955 | if (char == '\n') { | | |
| 956 | try out.writeAll(end_line); | | |
| 957 | try out.writeAll("\n"); | | |
| 958 | try out.writeAll(start_line); | | |
| 959 | } else { | | |
| 960 | try writeEscaped(out, &[_]u8{char}); | | |
| 961 | } | | |
| 962 | } | | |
| 963 | } | 952 | } |
| 964 | | 953 | |
| 965 | fn tokenizeAndPrintRaw( | 954 | fn tokenizeAndPrintRaw( |
| ... | @@ -972,7 +961,7 @@ fn tokenizeAndPrintRaw( | ... | @@ -972,7 +961,7 @@ fn tokenizeAndPrintRaw( |
| 972 | const src_non_terminated = mem.trim(u8, raw_src, " \r\n"); | 961 | const src_non_terminated = mem.trim(u8, raw_src, " \r\n"); |
| 973 | const src = try allocator.dupeZ(u8, src_non_terminated); | 962 | const src = try allocator.dupeZ(u8, src_non_terminated); |
| 974 | | 963 | |
| 975 | try out.writeAll("<code>" ++ start_line); | 964 | try out.writeAll("<code>"); |
| 976 | var tokenizer = std.zig.Tokenizer.init(src); | 965 | var tokenizer = std.zig.Tokenizer.init(src); |
| 977 | var index: usize = 0; | 966 | var index: usize = 0; |
| 978 | var next_tok_is_fn = false; | 967 | var next_tok_is_fn = false; |
| ... | @@ -1062,6 +1051,7 @@ fn tokenizeAndPrintRaw( | ... | @@ -1062,6 +1051,7 @@ fn tokenizeAndPrintRaw( |
| 1062 | }, | 1051 | }, |
| 1063 | | 1052 | |
| 1064 | .string_literal, | 1053 | .string_literal, |
| | 1054 | .multiline_string_literal_line, |
| 1065 | .char_literal, | 1055 | .char_literal, |
| 1066 | => { | 1056 | => { |
| 1067 | try out.writeAll("<span class=\"tok-str\">"); | 1057 | try out.writeAll("<span class=\"tok-str\">"); |
| ... | @@ -1069,18 +1059,6 @@ fn tokenizeAndPrintRaw( | ... | @@ -1069,18 +1059,6 @@ fn tokenizeAndPrintRaw( |
| 1069 | try out.writeAll("</span>"); | 1059 | try out.writeAll("</span>"); |
| 1070 | }, | 1060 | }, |
| 1071 | | 1061 | |
| 1072 | .multiline_string_literal_line => { | | |
| 1073 | if (src[token.loc.end - 1] == '\n') { | | |
| 1074 | try out.writeAll("<span class=\"tok-str\">"); | | |
| 1075 | try writeEscaped(out, src[token.loc.start .. token.loc.end - 1]); | | |
| 1076 | try out.writeAll("</span>" ++ end_line ++ "\n" ++ start_line); | | |
| 1077 | } else { | | |
| 1078 | try out.writeAll("<span class=\"tok-str\">"); | | |
| 1079 | try writeEscaped(out, src[token.loc.start..token.loc.end]); | | |
| 1080 | try out.writeAll("</span>"); | | |
| 1081 | } | | |
| 1082 | }, | | |
| 1083 | | | |
| 1084 | .builtin => { | 1062 | .builtin => { |
| 1085 | try out.writeAll("<span class=\"tok-builtin\">"); | 1063 | try out.writeAll("<span class=\"tok-builtin\">"); |
| 1086 | try writeEscaped(out, src[token.loc.start..token.loc.end]); | 1064 | try writeEscaped(out, src[token.loc.start..token.loc.end]); |
| ... | @@ -1211,7 +1189,7 @@ fn tokenizeAndPrintRaw( | ... | @@ -1211,7 +1189,7 @@ fn tokenizeAndPrintRaw( |
| 1211 | } | 1189 | } |
| 1212 | index = token.loc.end; | 1190 | index = token.loc.end; |
| 1213 | } | 1191 | } |
| 1214 | try out.writeAll(end_line ++ "</code>"); | 1192 | try out.writeAll("</code>"); |
| 1215 | } | 1193 | } |
| 1216 | | 1194 | |
| 1217 | fn tokenizeAndPrint( | 1195 | fn tokenizeAndPrint( |
| ... | @@ -1234,9 +1212,9 @@ fn printSourceBlock(allocator: Allocator, docgen_tokenizer: *Tokenizer, out: any | ... | @@ -1234,9 +1212,9 @@ fn printSourceBlock(allocator: Allocator, docgen_tokenizer: *Tokenizer, out: any |
| 1234 | const raw_source = docgen_tokenizer.buffer[syntax_block.source_token.start..syntax_block.source_token.end]; | 1212 | 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, " \r\n"); | 1213 | const trimmed_raw_source = mem.trim(u8, raw_source, " \r\n"); |
| 1236 | | 1214 | |
| 1237 | try out.writeAll("<code>" ++ start_line); | 1215 | try out.writeAll("<code>"); |
| 1238 | try writeEscapedLines(out, trimmed_raw_source); | 1216 | try writeEscapedLines(out, trimmed_raw_source); |
| 1239 | try out.writeAll(end_line ++ "</code>"); | 1217 | try out.writeAll("</code>"); |
| 1240 | }, | 1218 | }, |
| 1241 | } | 1219 | } |
| 1242 | try out.writeAll("</pre></figure>"); | 1220 | try out.writeAll("</pre></figure>"); |