authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-05-21 10:09:47-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2023-05-21 10:09:47-07:00
log9d4d96ca9b186af2705f88c17b2704096c08e829
treed68831f17aaa2b71704759209d2dc5badfee7a3e
parentdf909da5d87fda01245c564858522c6c57dd8a75
parent2088e8dc6f14b4004905aaea5a518ef87ca5c0dc
signaturebadge-question-mark Signed by PGP key 4AEE18F83AFDEB23

Merge pull request #15796 from linusg/docgen-snek-case-enums


1 files changed, 133 insertions(+), 134 deletions(-)

doc/docgen.zig+133-134
......@@ -111,13 +111,13 @@ const Token = struct {
111111 end: usize,
112112
113113 const Id = enum {
114 Invalid,
115 Content,
116 BracketOpen,
117 TagContent,
118 Separator,
119 BracketClose,
120 Eof,
114 invalid,
115 content,
116 bracket_open,
117 tag_content,
118 separator,
119 bracket_close,
120 eof,
121121 };
122122};
123123
......@@ -129,18 +129,18 @@ const Tokenizer = struct {
129129 code_node_count: usize,
130130
131131 const State = enum {
132 Start,
133 LBracket,
134 Hash,
135 TagName,
136 Eof,
132 start,
133 l_bracket,
134 hash,
135 tag_name,
136 eof,
137137 };
138138
139139 fn init(source_file_name: []const u8, buffer: []const u8) Tokenizer {
140140 return Tokenizer{
141141 .buffer = buffer,
142142 .index = 0,
143 .state = State.Start,
143 .state = .start,
144144 .source_file_name = source_file_name,
145145 .code_node_count = 0,
146146 };
......@@ -148,84 +148,84 @@ const Tokenizer = struct {
148148
149149 fn next(self: *Tokenizer) Token {
150150 var result = Token{
151 .id = Token.Id.Eof,
151 .id = .eof,
152152 .start = self.index,
153153 .end = undefined,
154154 };
155155 while (self.index < self.buffer.len) : (self.index += 1) {
156156 const c = self.buffer[self.index];
157157 switch (self.state) {
158 State.Start => switch (c) {
158 .start => switch (c) {
159159 '{' => {
160 self.state = State.LBracket;
160 self.state = .l_bracket;
161161 },
162162 else => {
163 result.id = Token.Id.Content;
163 result.id = .content;
164164 },
165165 },
166 State.LBracket => switch (c) {
166 .l_bracket => switch (c) {
167167 '#' => {
168 if (result.id != Token.Id.Eof) {
168 if (result.id != .eof) {
169169 self.index -= 1;
170 self.state = State.Start;
170 self.state = .start;
171171 break;
172172 } else {
173 result.id = Token.Id.BracketOpen;
173 result.id = .bracket_open;
174174 self.index += 1;
175 self.state = State.TagName;
175 self.state = .tag_name;
176176 break;
177177 }
178178 },
179179 else => {
180 result.id = Token.Id.Content;
181 self.state = State.Start;
180 result.id = .content;
181 self.state = .start;
182182 },
183183 },
184 State.TagName => switch (c) {
184 .tag_name => switch (c) {
185185 '|' => {
186 if (result.id != Token.Id.Eof) {
186 if (result.id != .eof) {
187187 break;
188188 } else {
189 result.id = Token.Id.Separator;
189 result.id = .separator;
190190 self.index += 1;
191191 break;
192192 }
193193 },
194194 '#' => {
195 self.state = State.Hash;
195 self.state = .hash;
196196 },
197197 else => {
198 result.id = Token.Id.TagContent;
198 result.id = .tag_content;
199199 },
200200 },
201 State.Hash => switch (c) {
201 .hash => switch (c) {
202202 '}' => {
203 if (result.id != Token.Id.Eof) {
203 if (result.id != .eof) {
204204 self.index -= 1;
205 self.state = State.TagName;
205 self.state = .tag_name;
206206 break;
207207 } else {
208 result.id = Token.Id.BracketClose;
208 result.id = .bracket_close;
209209 self.index += 1;
210 self.state = State.Start;
210 self.state = .start;
211211 break;
212212 }
213213 },
214214 else => {
215 result.id = Token.Id.TagContent;
216 self.state = State.TagName;
215 result.id = .tag_content;
216 self.state = .tag_name;
217217 },
218218 },
219 State.Eof => unreachable,
219 .eof => unreachable,
220220 }
221221 } else {
222222 switch (self.state) {
223 State.Start, State.LBracket, State.Eof => {},
223 .start, .l_bracket, .eof => {},
224224 else => {
225 result.id = Token.Id.Invalid;
225 result.id = .invalid;
226226 },
227227 }
228 self.state = State.Eof;
228 self.state = .eof;
229229 }
230230 result.end = self.index;
231231 return result;
......@@ -311,9 +311,9 @@ const SeeAlsoItem = struct {
311311};
312312
313313const ExpectedOutcome = enum {
314 Succeed,
315 Fail,
316 BuildFail,
314 succeed,
315 fail,
316 build_fail,
317317};
318318
319319const Code = struct {
......@@ -331,12 +331,12 @@ const Code = struct {
331331 additional_options: []const []const u8,
332332
333333 const Id = union(enum) {
334 Test,
335 TestError: []const u8,
336 TestSafety: []const u8,
337 Exe: ExpectedOutcome,
338 Obj: ?[]const u8,
339 Lib,
334 @"test",
335 test_error: []const u8,
336 test_safety: []const u8,
337 exe: ExpectedOutcome,
338 obj: ?[]const u8,
339 lib,
340340 };
341341};
342342
......@@ -379,8 +379,8 @@ const Toc = struct {
379379};
380380
381381const Action = enum {
382 Open,
383 Close,
382 open,
383 close,
384384};
385385
386386fn genToc(allocator: Allocator, tokenizer: *Tokenizer) !Toc {
......@@ -388,7 +388,7 @@ fn genToc(allocator: Allocator, tokenizer: *Tokenizer) !Toc {
388388 errdefer urls.deinit();
389389
390390 var header_stack_size: usize = 0;
391 var last_action = Action.Open;
391 var last_action: Action = .open;
392392 var last_columns: ?u8 = null;
393393
394394 var toc_buf = std.ArrayList(u8).init(allocator);
......@@ -404,38 +404,38 @@ fn genToc(allocator: Allocator, tokenizer: *Tokenizer) !Toc {
404404 while (true) {
405405 const token = tokenizer.next();
406406 switch (token.id) {
407 Token.Id.Eof => {
407 .eof => {
408408 if (header_stack_size != 0) {
409409 return parseError(tokenizer, token, "unbalanced headers", .{});
410410 }
411411 try toc.writeAll(" </ul>\n");
412412 break;
413413 },
414 Token.Id.Content => {
414 .content => {
415415 try nodes.append(Node{ .Content = tokenizer.buffer[token.start..token.end] });
416416 },
417 Token.Id.BracketOpen => {
418 const tag_token = try eatToken(tokenizer, Token.Id.TagContent);
417 .bracket_open => {
418 const tag_token = try eatToken(tokenizer, .tag_content);
419419 const tag_name = tokenizer.buffer[tag_token.start..tag_token.end];
420420
421421 if (mem.eql(u8, tag_name, "nav")) {
422 _ = try eatToken(tokenizer, Token.Id.BracketClose);
422 _ = try eatToken(tokenizer, .bracket_close);
423423
424424 try nodes.append(Node.Nav);
425425 } else if (mem.eql(u8, tag_name, "builtin")) {
426 _ = try eatToken(tokenizer, Token.Id.BracketClose);
426 _ = try eatToken(tokenizer, .bracket_close);
427427 try nodes.append(Node{ .Builtin = tag_token });
428428 } else if (mem.eql(u8, tag_name, "header_open")) {
429 _ = try eatToken(tokenizer, Token.Id.Separator);
430 const content_token = try eatToken(tokenizer, Token.Id.TagContent);
429 _ = try eatToken(tokenizer, .separator);
430 const content_token = try eatToken(tokenizer, .tag_content);
431431 const content = tokenizer.buffer[content_token.start..content_token.end];
432432 var columns: ?u8 = null;
433433 while (true) {
434434 const bracket_tok = tokenizer.next();
435435 switch (bracket_tok.id) {
436 .BracketClose => break,
437 .Separator => continue,
438 .TagContent => {
436 .bracket_close => break,
437 .separator => continue,
438 .tag_content => {
439439 const param = tokenizer.buffer[bracket_tok.start..bracket_tok.end];
440440 if (mem.eql(u8, param, "2col")) {
441441 columns = 2;
......@@ -467,7 +467,7 @@ fn genToc(allocator: Allocator, tokenizer: *Tokenizer) !Toc {
467467 parseError(tokenizer, kv.value, "other tag here", .{}) catch {};
468468 return error.ParseError;
469469 }
470 if (last_action == Action.Open) {
470 if (last_action == .open) {
471471 try toc.writeByte('\n');
472472 try toc.writeByteNTimes(' ', header_stack_size * 4);
473473 if (last_columns) |n| {
......@@ -476,7 +476,7 @@ fn genToc(allocator: Allocator, tokenizer: *Tokenizer) !Toc {
476476 try toc.writeAll("<ul>\n");
477477 }
478478 } else {
479 last_action = Action.Open;
479 last_action = .open;
480480 }
481481 last_columns = columns;
482482 try toc.writeByteNTimes(' ', 4 + header_stack_size * 4);
......@@ -486,14 +486,14 @@ fn genToc(allocator: Allocator, tokenizer: *Tokenizer) !Toc {
486486 return parseError(tokenizer, tag_token, "unbalanced close header", .{});
487487 }
488488 header_stack_size -= 1;
489 _ = try eatToken(tokenizer, Token.Id.BracketClose);
489 _ = try eatToken(tokenizer, .bracket_close);
490490
491 if (last_action == Action.Close) {
491 if (last_action == .close) {
492492 try toc.writeByteNTimes(' ', 8 + header_stack_size * 4);
493493 try toc.writeAll("</ul></li>\n");
494494 } else {
495495 try toc.writeAll("</li>\n");
496 last_action = Action.Close;
496 last_action = .close;
497497 }
498498 } else if (mem.eql(u8, tag_name, "see_also")) {
499499 var list = std.ArrayList(SeeAlsoItem).init(allocator);
......@@ -502,15 +502,15 @@ fn genToc(allocator: Allocator, tokenizer: *Tokenizer) !Toc {
502502 while (true) {
503503 const see_also_tok = tokenizer.next();
504504 switch (see_also_tok.id) {
505 Token.Id.TagContent => {
505 .tag_content => {
506506 const content = tokenizer.buffer[see_also_tok.start..see_also_tok.end];
507507 try list.append(SeeAlsoItem{
508508 .name = content,
509509 .token = see_also_tok,
510510 });
511511 },
512 Token.Id.Separator => {},
513 Token.Id.BracketClose => {
512 .separator => {},
513 .bracket_close => {
514514 try nodes.append(Node{ .SeeAlso = try list.toOwnedSlice() });
515515 break;
516516 },
......@@ -518,17 +518,17 @@ fn genToc(allocator: Allocator, tokenizer: *Tokenizer) !Toc {
518518 }
519519 }
520520 } else if (mem.eql(u8, tag_name, "link")) {
521 _ = try eatToken(tokenizer, Token.Id.Separator);
522 const name_tok = try eatToken(tokenizer, Token.Id.TagContent);
521 _ = try eatToken(tokenizer, .separator);
522 const name_tok = try eatToken(tokenizer, .tag_content);
523523 const name = tokenizer.buffer[name_tok.start..name_tok.end];
524524
525525 const url_name = blk: {
526526 const tok = tokenizer.next();
527527 switch (tok.id) {
528 Token.Id.BracketClose => break :blk name,
529 Token.Id.Separator => {
530 const explicit_text = try eatToken(tokenizer, Token.Id.TagContent);
531 _ = try eatToken(tokenizer, Token.Id.BracketClose);
528 .bracket_close => break :blk name,
529 .separator => {
530 const explicit_text = try eatToken(tokenizer, .tag_content);
531 _ = try eatToken(tokenizer, .bracket_close);
532532 break :blk tokenizer.buffer[explicit_text.start..explicit_text.end];
533533 },
534534 else => return parseError(tokenizer, tok, "invalid link token", .{}),
......@@ -543,45 +543,45 @@ fn genToc(allocator: Allocator, tokenizer: *Tokenizer) !Toc {
543543 },
544544 });
545545 } else if (mem.eql(u8, tag_name, "code_begin")) {
546 _ = try eatToken(tokenizer, Token.Id.Separator);
547 const code_kind_tok = try eatToken(tokenizer, Token.Id.TagContent);
548 _ = try eatToken(tokenizer, Token.Id.Separator);
549 const name_tok = try eatToken(tokenizer, Token.Id.TagContent);
546 _ = try eatToken(tokenizer, .separator);
547 const code_kind_tok = try eatToken(tokenizer, .tag_content);
548 _ = try eatToken(tokenizer, .separator);
549 const name_tok = try eatToken(tokenizer, .tag_content);
550550 const name = tokenizer.buffer[name_tok.start..name_tok.end];
551551 var error_str: []const u8 = "";
552552 const maybe_sep = tokenizer.next();
553553 switch (maybe_sep.id) {
554 Token.Id.Separator => {
555 const error_tok = try eatToken(tokenizer, Token.Id.TagContent);
554 .separator => {
555 const error_tok = try eatToken(tokenizer, .tag_content);
556556 error_str = tokenizer.buffer[error_tok.start..error_tok.end];
557 _ = try eatToken(tokenizer, Token.Id.BracketClose);
557 _ = try eatToken(tokenizer, .bracket_close);
558558 },
559 Token.Id.BracketClose => {},
559 .bracket_close => {},
560560 else => return parseError(tokenizer, token, "invalid token", .{}),
561561 }
562562 const code_kind_str = tokenizer.buffer[code_kind_tok.start..code_kind_tok.end];
563563 var code_kind_id: Code.Id = undefined;
564564 var just_check_syntax = false;
565565 if (mem.eql(u8, code_kind_str, "exe")) {
566 code_kind_id = Code.Id{ .Exe = ExpectedOutcome.Succeed };
566 code_kind_id = Code.Id{ .exe = .succeed };
567567 } else if (mem.eql(u8, code_kind_str, "exe_err")) {
568 code_kind_id = Code.Id{ .Exe = ExpectedOutcome.Fail };
568 code_kind_id = Code.Id{ .exe = .fail };
569569 } else if (mem.eql(u8, code_kind_str, "exe_build_err")) {
570 code_kind_id = Code.Id{ .Exe = ExpectedOutcome.BuildFail };
570 code_kind_id = Code.Id{ .exe = .build_fail };
571571 } else if (mem.eql(u8, code_kind_str, "test")) {
572 code_kind_id = Code.Id.Test;
572 code_kind_id = .@"test";
573573 } else if (mem.eql(u8, code_kind_str, "test_err")) {
574 code_kind_id = Code.Id{ .TestError = error_str };
574 code_kind_id = Code.Id{ .test_error = error_str };
575575 } else if (mem.eql(u8, code_kind_str, "test_safety")) {
576 code_kind_id = Code.Id{ .TestSafety = error_str };
576 code_kind_id = Code.Id{ .test_safety = error_str };
577577 } else if (mem.eql(u8, code_kind_str, "obj")) {
578 code_kind_id = Code.Id{ .Obj = null };
578 code_kind_id = Code.Id{ .obj = null };
579579 } else if (mem.eql(u8, code_kind_str, "obj_err")) {
580 code_kind_id = Code.Id{ .Obj = error_str };
580 code_kind_id = Code.Id{ .obj = error_str };
581581 } else if (mem.eql(u8, code_kind_str, "lib")) {
582 code_kind_id = Code.Id.Lib;
582 code_kind_id = Code.Id.lib;
583583 } else if (mem.eql(u8, code_kind_str, "syntax")) {
584 code_kind_id = Code.Id{ .Obj = null };
584 code_kind_id = Code.Id{ .obj = null };
585585 just_check_syntax = true;
586586 } else {
587587 return parseError(tokenizer, code_kind_tok, "unrecognized code kind: {s}", .{code_kind_str});
......@@ -599,9 +599,9 @@ fn genToc(allocator: Allocator, tokenizer: *Tokenizer) !Toc {
599599 defer additional_options.deinit();
600600
601601 const source_token = while (true) {
602 const content_tok = try eatToken(tokenizer, Token.Id.Content);
603 _ = try eatToken(tokenizer, Token.Id.BracketOpen);
604 const end_code_tag = try eatToken(tokenizer, Token.Id.TagContent);
602 const content_tok = try eatToken(tokenizer, .content);
603 _ = try eatToken(tokenizer, .bracket_open);
604 const end_code_tag = try eatToken(tokenizer, .tag_content);
605605 const end_tag_name = tokenizer.buffer[end_code_tag.start..end_code_tag.end];
606606 if (mem.eql(u8, end_tag_name, "code_release_fast")) {
607607 mode = .ReleaseFast;
......@@ -612,8 +612,8 @@ fn genToc(allocator: Allocator, tokenizer: *Tokenizer) !Toc {
612612 } else if (mem.eql(u8, end_tag_name, "code_verbose_cimport")) {
613613 verbose_cimport = true;
614614 } else if (mem.eql(u8, end_tag_name, "code_link_object")) {
615 _ = try eatToken(tokenizer, Token.Id.Separator);
616 const obj_tok = try eatToken(tokenizer, Token.Id.TagContent);
615 _ = try eatToken(tokenizer, .separator);
616 const obj_tok = try eatToken(tokenizer, .tag_content);
617617 try link_objects.append(tokenizer.buffer[obj_tok.start..obj_tok.end]);
618618 } else if (mem.eql(u8, end_tag_name, "target_windows")) {
619619 target_str = "x86_64-windows";
......@@ -630,11 +630,11 @@ fn genToc(allocator: Allocator, tokenizer: *Tokenizer) !Toc {
630630 } else if (mem.eql(u8, end_tag_name, "link_mode_dynamic")) {
631631 link_mode = .Dynamic;
632632 } else if (mem.eql(u8, end_tag_name, "additonal_option")) {
633 _ = try eatToken(tokenizer, Token.Id.Separator);
634 const option = try eatToken(tokenizer, Token.Id.TagContent);
633 _ = try eatToken(tokenizer, .separator);
634 const option = try eatToken(tokenizer, .tag_content);
635635 try additional_options.append(tokenizer.buffer[option.start..option.end]);
636636 } else if (mem.eql(u8, end_tag_name, "code_end")) {
637 _ = try eatToken(tokenizer, Token.Id.BracketClose);
637 _ = try eatToken(tokenizer, .bracket_close);
638638 break content_tok;
639639 } else {
640640 return parseError(
......@@ -644,7 +644,7 @@ fn genToc(allocator: Allocator, tokenizer: *Tokenizer) !Toc {
644644 .{end_tag_name},
645645 );
646646 }
647 _ = try eatToken(tokenizer, Token.Id.BracketClose);
647 _ = try eatToken(tokenizer, .bracket_close);
648648 } else unreachable; // TODO issue #707
649649 try nodes.append(Node{
650650 .Code = Code{
......@@ -664,10 +664,10 @@ fn genToc(allocator: Allocator, tokenizer: *Tokenizer) !Toc {
664664 });
665665 tokenizer.code_node_count += 1;
666666 } else if (mem.eql(u8, tag_name, "syntax")) {
667 _ = try eatToken(tokenizer, Token.Id.BracketClose);
668 const content_tok = try eatToken(tokenizer, Token.Id.Content);
669 _ = try eatToken(tokenizer, Token.Id.BracketOpen);
670 const end_syntax_tag = try eatToken(tokenizer, Token.Id.TagContent);
667 _ = try eatToken(tokenizer, .bracket_close);
668 const content_tok = try eatToken(tokenizer, .content);
669 _ = try eatToken(tokenizer, .bracket_open);
670 const end_syntax_tag = try eatToken(tokenizer, .tag_content);
671671 const end_tag_name = tokenizer.buffer[end_syntax_tag.start..end_syntax_tag.end];
672672 if (!mem.eql(u8, end_tag_name, "endsyntax")) {
673673 return parseError(
......@@ -677,13 +677,13 @@ fn genToc(allocator: Allocator, tokenizer: *Tokenizer) !Toc {
677677 .{end_tag_name},
678678 );
679679 }
680 _ = try eatToken(tokenizer, Token.Id.BracketClose);
680 _ = try eatToken(tokenizer, .bracket_close);
681681 try nodes.append(Node{ .InlineSyntax = content_tok });
682682 } else if (mem.eql(u8, tag_name, "shell_samp")) {
683 _ = try eatToken(tokenizer, Token.Id.BracketClose);
684 const content_tok = try eatToken(tokenizer, Token.Id.Content);
685 _ = try eatToken(tokenizer, Token.Id.BracketOpen);
686 const end_syntax_tag = try eatToken(tokenizer, Token.Id.TagContent);
683 _ = try eatToken(tokenizer, .bracket_close);
684 const content_tok = try eatToken(tokenizer, .content);
685 _ = try eatToken(tokenizer, .bracket_open);
686 const end_syntax_tag = try eatToken(tokenizer, .tag_content);
687687 const end_tag_name = tokenizer.buffer[end_syntax_tag.start..end_syntax_tag.end];
688688 if (!mem.eql(u8, end_tag_name, "end_shell_samp")) {
689689 return parseError(
......@@ -693,20 +693,20 @@ fn genToc(allocator: Allocator, tokenizer: *Tokenizer) !Toc {
693693 .{end_tag_name},
694694 );
695695 }
696 _ = try eatToken(tokenizer, Token.Id.BracketClose);
696 _ = try eatToken(tokenizer, .bracket_close);
697697 try nodes.append(Node{ .Shell = content_tok });
698698 } else if (mem.eql(u8, tag_name, "syntax_block")) {
699 _ = try eatToken(tokenizer, Token.Id.Separator);
700 const source_type_tok = try eatToken(tokenizer, Token.Id.TagContent);
699 _ = try eatToken(tokenizer, .separator);
700 const source_type_tok = try eatToken(tokenizer, .tag_content);
701701 var name: []const u8 = "sample_code";
702702 const maybe_sep = tokenizer.next();
703703 switch (maybe_sep.id) {
704 Token.Id.Separator => {
705 const name_tok = try eatToken(tokenizer, Token.Id.TagContent);
704 .separator => {
705 const name_tok = try eatToken(tokenizer, .tag_content);
706706 name = tokenizer.buffer[name_tok.start..name_tok.end];
707 _ = try eatToken(tokenizer, Token.Id.BracketClose);
707 _ = try eatToken(tokenizer, .bracket_close);
708708 },
709 Token.Id.BracketClose => {},
709 .bracket_close => {},
710710 else => return parseError(tokenizer, token, "invalid token", .{}),
711711 }
712712 const source_type_str = tokenizer.buffer[source_type_tok.start..source_type_tok.end];
......@@ -723,12 +723,12 @@ fn genToc(allocator: Allocator, tokenizer: *Tokenizer) !Toc {
723723 return parseError(tokenizer, source_type_tok, "unrecognized code kind: {s}", .{source_type_str});
724724 }
725725 const source_token = while (true) {
726 const content_tok = try eatToken(tokenizer, Token.Id.Content);
727 _ = try eatToken(tokenizer, Token.Id.BracketOpen);
728 const end_code_tag = try eatToken(tokenizer, Token.Id.TagContent);
726 const content_tok = try eatToken(tokenizer, .content);
727 _ = try eatToken(tokenizer, .bracket_open);
728 const end_code_tag = try eatToken(tokenizer, .tag_content);
729729 const end_tag_name = tokenizer.buffer[end_code_tag.start..end_code_tag.end];
730730 if (mem.eql(u8, end_tag_name, "end_syntax_block")) {
731 _ = try eatToken(tokenizer, Token.Id.BracketClose);
731 _ = try eatToken(tokenizer, .bracket_close);
732732 break content_tok;
733733 } else {
734734 return parseError(
......@@ -738,7 +738,7 @@ fn genToc(allocator: Allocator, tokenizer: *Tokenizer) !Toc {
738738 .{end_tag_name},
739739 );
740740 }
741 _ = try eatToken(tokenizer, Token.Id.BracketClose);
741 _ = try eatToken(tokenizer, .bracket_close);
742742 };
743743 try nodes.append(Node{ .SyntaxBlock = SyntaxBlock{ .source_type = source_type, .name = name, .source_token = source_token } });
744744 } else {
......@@ -1371,7 +1371,7 @@ fn genHtml(
13711371 var shell_out = shell_buffer.writer();
13721372
13731373 switch (code.id) {
1374 Code.Id.Exe => |expected_outcome| code_block: {
1374 .exe => |expected_outcome| code_block: {
13751375 var build_args = std.ArrayList([]const u8).init(allocator);
13761376 defer build_args.deinit();
13771377 try build_args.appendSlice(&[_][]const u8{
......@@ -1420,7 +1420,7 @@ fn genHtml(
14201420
14211421 try shell_out.print("\n", .{});
14221422
1423 if (expected_outcome == .BuildFail) {
1423 if (expected_outcome == .build_fail) {
14241424 const result = try ChildProcess.exec(.{
14251425 .allocator = allocator,
14261426 .argv = build_args.items,
......@@ -1476,7 +1476,7 @@ fn genHtml(
14761476
14771477 var exited_with_signal = false;
14781478
1479 const result = if (expected_outcome == ExpectedOutcome.Fail) blk: {
1479 const result = if (expected_outcome == .fail) blk: {
14801480 const result = try ChildProcess.exec(.{
14811481 .allocator = allocator,
14821482 .argv = run_args,
......@@ -1513,7 +1513,7 @@ fn genHtml(
15131513 }
15141514 try shell_out.writeAll("\n");
15151515 },
1516 Code.Id.Test => {
1516 .@"test" => {
15171517 var test_args = std.ArrayList([]const u8).init(allocator);
15181518 defer test_args.deinit();
15191519
......@@ -1565,7 +1565,7 @@ fn genHtml(
15651565 const escaped_stdout = try escapeHtml(allocator, result.stdout);
15661566 try shell_out.print("\n{s}{s}\n", .{ escaped_stderr, escaped_stdout });
15671567 },
1568 Code.Id.TestError => |error_match| {
1568 .test_error => |error_match| {
15691569 var test_args = std.ArrayList([]const u8).init(allocator);
15701570 defer test_args.deinit();
15711571
......@@ -1621,8 +1621,7 @@ fn genHtml(
16211621 const colored_stderr = try termColor(allocator, escaped_stderr);
16221622 try shell_out.print("\n{s}\n", .{colored_stderr});
16231623 },
1624
1625 Code.Id.TestSafety => |error_match| {
1624 .test_safety => |error_match| {
16261625 var test_args = std.ArrayList([]const u8).init(allocator);
16271626 defer test_args.deinit();
16281627
......@@ -1685,7 +1684,7 @@ fn genHtml(
16851684 colored_stderr,
16861685 });
16871686 },
1688 Code.Id.Obj => |maybe_error_match| {
1687 .obj => |maybe_error_match| {
16891688 const name_plus_obj_ext = try std.fmt.allocPrint(allocator, "{s}{s}", .{ code.name, obj_ext });
16901689 var build_args = std.ArrayList([]const u8).init(allocator);
16911690 defer build_args.deinit();
......@@ -1758,7 +1757,7 @@ fn genHtml(
17581757 }
17591758 try shell_out.writeAll("\n");
17601759 },
1761 Code.Id.Lib => {
1760 .lib => {
17621761 const bin_basename = try std.zig.binNameAlloc(allocator, .{
17631762 .root_name = code.name,
17641763 .target = builtin.target,