mirror of
https://github.com/ziglang/zig.git
synced 2026-02-12 20:37:54 +00:00
fix line numbers on multiline strings, add line numbers to peg grammar
This commit is contained in:
parent
de92925897
commit
d5c5824c80
@ -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("<span class=\"tok-str\">");
|
||||
@ -987,6 +989,13 @@ fn tokenizeAndPrintRaw(
|
||||
try out.writeAll("</span>");
|
||||
},
|
||||
|
||||
.multiline_string_literal_line,
|
||||
=> {
|
||||
try out.writeAll("<span class=\"tok-str\">");
|
||||
try writeEscaped(out, src[token.loc.start..token.loc.end - 1]);
|
||||
try out.writeAll("</span>" ++ end_line ++ "\n" ++ start_line);
|
||||
},
|
||||
|
||||
.builtin => {
|
||||
try out.writeAll("<span class=\"tok-builtin\">");
|
||||
try writeEscaped(out, src[token.loc.start..token.loc.end]);
|
||||
|
||||
@ -11644,7 +11644,7 @@ fn readU32Be() u32 {}
|
||||
{#header_close#}
|
||||
|
||||
{#header_open|Grammar#}
|
||||
<pre><code>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
|
||||
</code></pre>
|
||||
{#end_syntax_block#}
|
||||
{#header_close#}
|
||||
{#header_open|Zen#}
|
||||
<ul>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user