diff --git a/doc/docgen.zig b/doc/docgen.zig index d842d5321d..68217ec65e 100644 --- a/doc/docgen.zig +++ b/doc/docgen.zig @@ -313,6 +313,7 @@ const SyntaxBlock = struct { const SourceType = enum { zig, c, + peg, javascript, }; }; @@ -666,6 +667,8 @@ fn genToc(allocator: *Allocator, tokenizer: *Tokenizer) !Toc { source_type = SyntaxBlock.SourceType.zig; } else if (mem.eql(u8, source_type_str, "c")) { source_type = SyntaxBlock.SourceType.c; + } else if (mem.eql(u8, source_type_str, "peg")) { + source_type = SyntaxBlock.SourceType.c; } else if (mem.eql(u8, source_type_str, "javascript")) { source_type = SyntaxBlock.SourceType.javascript; } else { @@ -979,7 +982,6 @@ fn tokenizeAndPrintRaw( }, .string_literal, - .multiline_string_literal_line, .char_literal, => { try out.writeAll(""); @@ -987,6 +989,13 @@ fn tokenizeAndPrintRaw( try out.writeAll(""); }, + .multiline_string_literal_line, + => { + try out.writeAll(""); + try writeEscaped(out, src[token.loc.start..token.loc.end - 1]); + try out.writeAll("" ++ end_line ++ "\n" ++ start_line); + }, + .builtin => { try out.writeAll(""); try writeEscaped(out, src[token.loc.start..token.loc.end]); diff --git a/doc/langref.html.in b/doc/langref.html.in index 7c0e1c4574..de62a83ceb 100644 --- a/doc/langref.html.in +++ b/doc/langref.html.in @@ -11644,7 +11644,7 @@ fn readU32Be() u32 {} {#header_close#} {#header_open|Grammar#} -
Root <- skip container_doc_comment? ContainerMembers eof
+      {#syntax_block|peg|zig.peg#}Root <- skip container_doc_comment? ContainerMembers eof
 
 # *** Top level ***
 ContainerMembers <- ContainerDeclarations (ContainerField COMMA)* (ContainerField / ContainerDeclarations)
@@ -12202,7 +12202,7 @@ keyword <- KEYWORD_align / KEYWORD_allowzero / KEYWORD_and / KEYWORD_anyframe
          / KEYWORD_test / KEYWORD_threadlocal / KEYWORD_try
          / KEYWORD_union / KEYWORD_unreachable
          / KEYWORD_usingnamespace / KEYWORD_var / KEYWORD_volatile / KEYWORD_while
-
+{#end_syntax_block#} {#header_close#} {#header_open|Zen#}