From cadee07ef41a108a0bf0592c9ed6ab5914fa231d Mon Sep 17 00:00:00 2001 From: Vallahor Date: Wed, 25 May 2022 14:35:27 -0300 Subject: [PATCH] fix: paths working on windows --- src/Autodoc.zig | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/Autodoc.zig b/src/Autodoc.zig index e5f95bfade..db462dea92 100644 --- a/src/Autodoc.zig +++ b/src/Autodoc.zig @@ -292,10 +292,27 @@ const DocData = struct { if (options.whitespace) |*ws| ws.indent_level += 1; while (it.next()) |kv| : (idx += 1) { if (options.whitespace) |ws| try ws.outputIndent(w); - try w.print("\"{s}\": {d}", .{ - kv.key_ptr.*.sub_file_path, - kv.value_ptr.*, - }); + const builtin = @import("builtin"); + if (builtin.target.os.tag == .windows) { + try w.print("\"", .{}); + for (kv.key_ptr.*.sub_file_path) |c| { + if (c == '\\') { + try w.print("\\", .{}); + try w.print("\\", .{}); + } else { + try w.print("{c}", .{c}); + } + } + try w.print("\"", .{}); + try w.print(": {d}", .{ + kv.value_ptr.*, + }); + } else { + try w.print("\"{s}\": {d}", .{ + kv.key_ptr.*.sub_file_path, + kv.value_ptr.*, + }); + } if (idx != self.data.count() - 1) try w.writeByte(','); try w.writeByte('\n'); }