| ... | @@ -313,6 +313,7 @@ const SyntaxBlock = struct { | ... | @@ -313,6 +313,7 @@ const SyntaxBlock = struct { |
| 313 | const SourceType = enum { | 313 | const SourceType = enum { |
| 314 | zig, | 314 | zig, |
| 315 | c, | 315 | c, |
| | 316 | peg, |
| 316 | javascript, | 317 | javascript, |
| 317 | }; | 318 | }; |
| 318 | }; | 319 | }; |
| ... | @@ -666,6 +667,8 @@ fn genToc(allocator: *Allocator, tokenizer: *Tokenizer) !Toc { | ... | @@ -666,6 +667,8 @@ fn genToc(allocator: *Allocator, tokenizer: *Tokenizer) !Toc { |
| 666 | source_type = SyntaxBlock.SourceType.zig; | 667 | source_type = SyntaxBlock.SourceType.zig; |
| 667 | } else if (mem.eql(u8, source_type_str, "c")) { | 668 | } else if (mem.eql(u8, source_type_str, "c")) { |
| 668 | source_type = SyntaxBlock.SourceType.c; | 669 | source_type = SyntaxBlock.SourceType.c; |
| | 670 | } else if (mem.eql(u8, source_type_str, "peg")) { |
| | 671 | source_type = SyntaxBlock.SourceType.c; |
| 669 | } else if (mem.eql(u8, source_type_str, "javascript")) { | 672 | } else if (mem.eql(u8, source_type_str, "javascript")) { |
| 670 | source_type = SyntaxBlock.SourceType.javascript; | 673 | source_type = SyntaxBlock.SourceType.javascript; |
| 671 | } else { | 674 | } else { |
| ... | @@ -979,7 +982,6 @@ fn tokenizeAndPrintRaw( | ... | @@ -979,7 +982,6 @@ fn tokenizeAndPrintRaw( |
| 979 | }, | 982 | }, |
| 980 | | 983 | |
| 981 | .string_literal, | 984 | .string_literal, |
| 982 | .multiline_string_literal_line, | | |
| 983 | .char_literal, | 985 | .char_literal, |
| 984 | => { | 986 | => { |
| 985 | try out.writeAll("<span class=\"tok-str\">"); | 987 | try out.writeAll("<span class=\"tok-str\">"); |
| ... | @@ -987,6 +989,13 @@ fn tokenizeAndPrintRaw( | ... | @@ -987,6 +989,13 @@ fn tokenizeAndPrintRaw( |
| 987 | try out.writeAll("</span>"); | 989 | try out.writeAll("</span>"); |
| 988 | }, | 990 | }, |
| 989 | | 991 | |
| | 992 | .multiline_string_literal_line, |
| | 993 | => { |
| | 994 | try out.writeAll("<span class=\"tok-str\">"); |
| | 995 | try writeEscaped(out, src[token.loc.start..token.loc.end - 1]); |
| | 996 | try out.writeAll("</span>" ++ end_line ++ "\n" ++ start_line); |
| | 997 | }, |
| | 998 | |
| 990 | .builtin => { | 999 | .builtin => { |
| 991 | try out.writeAll("<span class=\"tok-builtin\">"); | 1000 | try out.writeAll("<span class=\"tok-builtin\">"); |
| 992 | try writeEscaped(out, src[token.loc.start..token.loc.end]); | 1001 | try writeEscaped(out, src[token.loc.start..token.loc.end]); |