std-docs: use open for macOS.

This commit is contained in:
Jiacai Liu 2024-05-22 04:21:17 +08:00 committed by GitHub
parent eb0f871cb9
commit 6635360dbd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -116,20 +116,19 @@ const Context = struct {
}; };
fn serveRequest(request: *std.http.Server.Request, context: *Context) !void { fn serveRequest(request: *std.http.Server.Request, context: *Context) !void {
if (std.mem.eql(u8, request.head.target, "/") or const target = std.mem.trimRight(u8, request.head.target, "/");
std.mem.eql(u8, request.head.target, "/debug/")) if (target.len == 0 or std.mem.eql(u8, target, "/debug")) {
{
try serveDocsFile(request, context, "docs/index.html", "text/html"); try serveDocsFile(request, context, "docs/index.html", "text/html");
} else if (std.mem.eql(u8, request.head.target, "/main.js") or } else if (std.mem.eql(u8, target, "/main.js") or
std.mem.eql(u8, request.head.target, "/debug/main.js")) std.mem.eql(u8, target, "/debug/main.js"))
{ {
try serveDocsFile(request, context, "docs/main.js", "application/javascript"); try serveDocsFile(request, context, "docs/main.js", "application/javascript");
} else if (std.mem.eql(u8, request.head.target, "/main.wasm")) { } else if (std.mem.eql(u8, target, "/main.wasm")) {
try serveWasm(request, context, .ReleaseFast); try serveWasm(request, context, .ReleaseFast);
} else if (std.mem.eql(u8, request.head.target, "/debug/main.wasm")) { } else if (std.mem.eql(u8, target, "/debug/main.wasm")) {
try serveWasm(request, context, .Debug); try serveWasm(request, context, .Debug);
} else if (std.mem.eql(u8, request.head.target, "/sources.tar") or } else if (std.mem.eql(u8, target, "/sources.tar") or
std.mem.eql(u8, request.head.target, "/debug/sources.tar")) std.mem.eql(u8, target, "/debug/sources.tar"))
{ {
try serveSourcesTar(request, context); try serveSourcesTar(request, context);
} else { } else {
@ -433,6 +432,7 @@ fn openBrowserTab(gpa: Allocator, url: []const u8) !void {
fn openBrowserTabThread(gpa: Allocator, url: []const u8) !void { fn openBrowserTabThread(gpa: Allocator, url: []const u8) !void {
const main_exe = switch (builtin.os.tag) { const main_exe = switch (builtin.os.tag) {
.windows => "explorer", .windows => "explorer",
.macos => "open",
else => "xdg-open", else => "xdg-open",
}; };
var child = std.ChildProcess.init(&.{ main_exe, url }, gpa); var child = std.ChildProcess.init(&.{ main_exe, url }, gpa);