authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-02-27 13:32:49-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-02-28 14:51:55-05:00
log70bf8874d7b358545c3370d5e1ae71dfcdf55b93
treecedcc1f59543acde5e40e028a13d0b9c14fc3768
parent3c3316d4ba3ede6172fc0a92b6c4c9b8e601adde
signaturelock-open Commit is signed but in an unrecognized format.

update docgen to new Target API


1 files changed, 41 insertions(+), 40 deletions(-)

doc/docgen.zig+41-40
......@@ -1,5 +1,5 @@
1const builtin = @import("builtin");
21const std = @import("std");
2const builtin = std.builtin;
33const io = std.io;
44const fs = std.fs;
55const process = std.process;
......@@ -521,7 +521,7 @@ fn genToc(allocator: *mem.Allocator, tokenizer: *Tokenizer) !Toc {
521521 return parseError(tokenizer, code_kind_tok, "unrecognized code kind: {}", .{code_kind_str});
522522 }
523523
524 var mode = builtin.Mode.Debug;
524 var mode: builtin.Mode = .Debug;
525525 var link_objects = std.ArrayList([]const u8).init(allocator);
526526 defer link_objects.deinit();
527527 var target_str: ?[]const u8 = null;
......@@ -533,9 +533,9 @@ fn genToc(allocator: *mem.Allocator, tokenizer: *Tokenizer) !Toc {
533533 const end_code_tag = try eatToken(tokenizer, Token.Id.TagContent);
534534 const end_tag_name = tokenizer.buffer[end_code_tag.start..end_code_tag.end];
535535 if (mem.eql(u8, end_tag_name, "code_release_fast")) {
536 mode = builtin.Mode.ReleaseFast;
536 mode = .ReleaseFast;
537537 } else if (mem.eql(u8, end_tag_name, "code_release_safe")) {
538 mode = builtin.Mode.ReleaseSafe;
538 mode = .ReleaseSafe;
539539 } else if (mem.eql(u8, end_tag_name, "code_link_object")) {
540540 _ = try eatToken(tokenizer, Token.Id.Separator);
541541 const obj_tok = try eatToken(tokenizer, Token.Id.TagContent);
......@@ -1001,30 +1001,30 @@ fn genHtml(allocator: *mem.Allocator, tokenizer: *Tokenizer, toc: *Toc, out: var
10011001
10021002 for (toc.nodes) |node| {
10031003 switch (node) {
1004 Node.Content => |data| {
1004 .Content => |data| {
10051005 try out.write(data);
10061006 },
1007 Node.Link => |info| {
1007 .Link => |info| {
10081008 if (!toc.urls.contains(info.url)) {
10091009 return parseError(tokenizer, info.token, "url not found: {}", .{info.url});
10101010 }
10111011 try out.print("<a href=\"#{}\">{}</a>", .{ info.url, info.name });
10121012 },
1013 Node.Nav => {
1013 .Nav => {
10141014 try out.write(toc.toc);
10151015 },
1016 Node.Builtin => |tok| {
1016 .Builtin => |tok| {
10171017 try out.write("<pre>");
10181018 try tokenizeAndPrintRaw(tokenizer, out, tok, builtin_code);
10191019 try out.write("</pre>");
10201020 },
1021 Node.HeaderOpen => |info| {
1021 .HeaderOpen => |info| {
10221022 try out.print(
10231023 "<h{} id=\"{}\"><a href=\"#toc-{}\">{}</a> <a class=\"hdr\" href=\"#{}\">§</a></h{}>\n",
10241024 .{ info.n, info.url, info.url, info.name, info.url, info.n },
10251025 );
10261026 },
1027 Node.SeeAlso => |items| {
1027 .SeeAlso => |items| {
10281028 try out.write("<p>See also:</p><ul>\n");
10291029 for (items) |item| {
10301030 const url = try urlize(allocator, item.name);
......@@ -1035,10 +1035,10 @@ fn genHtml(allocator: *mem.Allocator, tokenizer: *Tokenizer, toc: *Toc, out: var
10351035 }
10361036 try out.write("</ul>\n");
10371037 },
1038 Node.Syntax => |content_tok| {
1038 .Syntax => |content_tok| {
10391039 try tokenizeAndPrint(tokenizer, out, content_tok);
10401040 },
1041 Node.Code => |code| {
1041 .Code => |code| {
10421042 code_progress_index += 1;
10431043 warn("docgen example code {}/{}...", .{ code_progress_index, tokenizer.code_node_count });
10441044
......@@ -1075,16 +1075,16 @@ fn genHtml(allocator: *mem.Allocator, tokenizer: *Tokenizer, toc: *Toc, out: var
10751075 });
10761076 try out.print("<pre><code class=\"shell\">$ zig build-exe {}.zig", .{code.name});
10771077 switch (code.mode) {
1078 builtin.Mode.Debug => {},
1079 builtin.Mode.ReleaseSafe => {
1078 .Debug => {},
1079 .ReleaseSafe => {
10801080 try build_args.append("--release-safe");
10811081 try out.print(" --release-safe", .{});
10821082 },
1083 builtin.Mode.ReleaseFast => {
1083 .ReleaseFast => {
10841084 try build_args.append("--release-fast");
10851085 try out.print(" --release-fast", .{});
10861086 },
1087 builtin.Mode.ReleaseSmall => {
1087 .ReleaseSmall => {
10881088 try build_args.append("--release-small");
10891089 try out.print(" --release-small", .{});
10901090 },
......@@ -1142,13 +1142,14 @@ fn genHtml(allocator: *mem.Allocator, tokenizer: *Tokenizer, toc: *Toc, out: var
11421142 try out.print("\n{}</code></pre>\n", .{colored_stderr});
11431143 break :code_block;
11441144 }
1145 const exec_result = exec(allocator, &env_map, build_args.toSliceConst()) catch return parseError(tokenizer, code.source_token, "example failed to compile", .{});
1145 const exec_result = exec(allocator, &env_map, build_args.toSliceConst()) catch
1146 return parseError(tokenizer, code.source_token, "example failed to compile", .{});
11461147
11471148 if (code.target_str) |triple| {
1148 if (mem.startsWith(u8, triple, "wasm32") or
1149 if ((mem.startsWith(u8, triple, "wasm32") or
11491150 mem.startsWith(u8, triple, "riscv64-linux") or
1150 mem.startsWith(u8, triple, "x86_64-linux") and
1151 (builtin.os != .linux or builtin.arch != .x86_64))
1151 mem.startsWith(u8, triple, "x86_64-linux")) and
1152 (std.Target.current.os.tag != .linux or std.Target.current.cpu.arch != .x86_64))
11521153 {
11531154 // skip execution
11541155 try out.print("</code></pre>\n", .{});
......@@ -1207,16 +1208,16 @@ fn genHtml(allocator: *mem.Allocator, tokenizer: *Tokenizer, toc: *Toc, out: var
12071208 });
12081209 try out.print("<pre><code class=\"shell\">$ zig test {}.zig", .{code.name});
12091210 switch (code.mode) {
1210 builtin.Mode.Debug => {},
1211 builtin.Mode.ReleaseSafe => {
1211 .Debug => {},
1212 .ReleaseSafe => {
12121213 try test_args.append("--release-safe");
12131214 try out.print(" --release-safe", .{});
12141215 },
1215 builtin.Mode.ReleaseFast => {
1216 .ReleaseFast => {
12161217 try test_args.append("--release-fast");
12171218 try out.print(" --release-fast", .{});
12181219 },
1219 builtin.Mode.ReleaseSmall => {
1220 .ReleaseSmall => {
12201221 try test_args.append("--release-small");
12211222 try out.print(" --release-small", .{});
12221223 },
......@@ -1249,16 +1250,16 @@ fn genHtml(allocator: *mem.Allocator, tokenizer: *Tokenizer, toc: *Toc, out: var
12491250 });
12501251 try out.print("<pre><code class=\"shell\">$ zig test {}.zig", .{code.name});
12511252 switch (code.mode) {
1252 builtin.Mode.Debug => {},
1253 builtin.Mode.ReleaseSafe => {
1253 .Debug => {},
1254 .ReleaseSafe => {
12541255 try test_args.append("--release-safe");
12551256 try out.print(" --release-safe", .{});
12561257 },
1257 builtin.Mode.ReleaseFast => {
1258 .ReleaseFast => {
12581259 try test_args.append("--release-fast");
12591260 try out.print(" --release-fast", .{});
12601261 },
1261 builtin.Mode.ReleaseSmall => {
1262 .ReleaseSmall => {
12621263 try test_args.append("--release-small");
12631264 try out.print(" --release-small", .{});
12641265 },
......@@ -1306,16 +1307,16 @@ fn genHtml(allocator: *mem.Allocator, tokenizer: *Tokenizer, toc: *Toc, out: var
13061307 });
13071308 var mode_arg: []const u8 = "";
13081309 switch (code.mode) {
1309 builtin.Mode.Debug => {},
1310 builtin.Mode.ReleaseSafe => {
1310 .Debug => {},
1311 .ReleaseSafe => {
13111312 try test_args.append("--release-safe");
13121313 mode_arg = " --release-safe";
13131314 },
1314 builtin.Mode.ReleaseFast => {
1315 .ReleaseFast => {
13151316 try test_args.append("--release-fast");
13161317 mode_arg = " --release-fast";
13171318 },
1318 builtin.Mode.ReleaseSmall => {
1319 .ReleaseSmall => {
13191320 try test_args.append("--release-small");
13201321 mode_arg = " --release-small";
13211322 },
......@@ -1386,20 +1387,20 @@ fn genHtml(allocator: *mem.Allocator, tokenizer: *Tokenizer, toc: *Toc, out: var
13861387 }
13871388
13881389 switch (code.mode) {
1389 builtin.Mode.Debug => {},
1390 builtin.Mode.ReleaseSafe => {
1390 .Debug => {},
1391 .ReleaseSafe => {
13911392 try build_args.append("--release-safe");
13921393 if (!code.is_inline) {
13931394 try out.print(" --release-safe", .{});
13941395 }
13951396 },
1396 builtin.Mode.ReleaseFast => {
1397 .ReleaseFast => {
13971398 try build_args.append("--release-fast");
13981399 if (!code.is_inline) {
13991400 try out.print(" --release-fast", .{});
14001401 }
14011402 },
1402 builtin.Mode.ReleaseSmall => {
1403 .ReleaseSmall => {
14031404 try build_args.append("--release-small");
14041405 if (!code.is_inline) {
14051406 try out.print(" --release-small", .{});
......@@ -1461,16 +1462,16 @@ fn genHtml(allocator: *mem.Allocator, tokenizer: *Tokenizer, toc: *Toc, out: var
14611462 });
14621463 try out.print("<pre><code class=\"shell\">$ zig build-lib {}.zig", .{code.name});
14631464 switch (code.mode) {
1464 builtin.Mode.Debug => {},
1465 builtin.Mode.ReleaseSafe => {
1465 .Debug => {},
1466 .ReleaseSafe => {
14661467 try test_args.append("--release-safe");
14671468 try out.print(" --release-safe", .{});
14681469 },
1469 builtin.Mode.ReleaseFast => {
1470 .ReleaseFast => {
14701471 try test_args.append("--release-fast");
14711472 try out.print(" --release-fast", .{});
14721473 },
1473 builtin.Mode.ReleaseSmall => {
1474 .ReleaseSmall => {
14741475 try test_args.append("--release-small");
14751476 try out.print(" --release-small", .{});
14761477 },