authorgravatar for lachlan@lakebythewoods.xyzLachlan Easton <lachlan@lakebythewoods.xyz> 2020-08-29 23:07:47+10:00
committergravatar for lachlan@lakebythewoods.xyzLachlan Easton <lachlan@lakebythewoods.xyz> 2020-08-30 10:28:17+10:00
log7d950210a64f51cba6c4edaacbd9c67f12e72604
tree7ea4e9ff643b94afd0865a6d28de4003b412e23c
parenta72b9d403d036ac0da64ed826c535fff0c142e6a

zig fmt review comments


3 files changed, 31 insertions(+), 25 deletions(-)

lib/std/io/auto_indenting_stream.zig+14-9
...@@ -3,13 +3,15 @@ const io = std.io;...@@ -3,13 +3,15 @@ const io = std.io;
3const mem = std.mem;3const mem = std.mem;
4const assert = std.debug.assert;4const assert = std.debug.assert;
55
6pub fn AutoIndentingStream(comptime indent_delta: u8, comptime OutStreamType: type) type {6/// Automatically inserts indentation of written data by keeping
7/// track of the current indentation level
8pub fn AutoIndentingStream(comptime indent_delta: u8, comptime WriterType: type) type {
7 return struct {9 return struct {
8 const Self = @This();10 const Self = @This();
9 pub const Error = OutStreamType.Error;11 pub const Error = WriterType.Error;
10 pub const OutStream = io.Writer(*Self, Error, write);12 pub const Writer = io.Writer(*Self, Error, write);
1113
12 out_stream: *OutStreamType,14 writer_pointer: *WriterType,
13 current_line_empty: bool = true,15 current_line_empty: bool = true,
14 indent_stack: [255]u8 = undefined,16 indent_stack: [255]u8 = undefined,
15 indent_stack_top: u8 = 0,17 indent_stack_top: u8 = 0,
...@@ -17,11 +19,11 @@ pub fn AutoIndentingStream(comptime indent_delta: u8, comptime OutStreamType: ty...@@ -17,11 +19,11 @@ pub fn AutoIndentingStream(comptime indent_delta: u8, comptime OutStreamType: ty
17 applied_indent: u8 = 0, // the most recently applied indent19 applied_indent: u8 = 0, // the most recently applied indent
18 indent_next_line: u8 = 0, // not used until the next line20 indent_next_line: u8 = 0, // not used until the next line
1921
20 pub fn init(out_stream: *OutStreamType) Self {22 pub fn init(writer_pointer: *WriterType) Self {
21 return Self{ .out_stream = out_stream };23 return Self{ .writer_pointer = writer_pointer };
22 }24 }
2325
24 pub fn writer(self: *Self) OutStream {26 pub fn writer(self: *Self) Writer {
25 return .{ .context = self };27 return .{ .context = self };
26 }28 }
2729
...@@ -34,7 +36,10 @@ pub fn AutoIndentingStream(comptime indent_delta: u8, comptime OutStreamType: ty...@@ -34,7 +36,10 @@ pub fn AutoIndentingStream(comptime indent_delta: u8, comptime OutStreamType: ty
34 }36 }
3537
36 fn writeNoIndent(self: *Self, bytes: []const u8) Error!usize {38 fn writeNoIndent(self: *Self, bytes: []const u8) Error!usize {
37 try self.out_stream.outStream().writeAll(bytes);39 if (bytes.len == 0)
40 return @as(usize, 0);
41
42 try self.writer_pointer.outStream().writeAll(bytes);
38 if (bytes[bytes.len - 1] == '\n')43 if (bytes[bytes.len - 1] == '\n')
39 self.resetLine();44 self.resetLine();
40 return bytes.len;45 return bytes.len;
...@@ -98,7 +103,7 @@ pub fn AutoIndentingStream(comptime indent_delta: u8, comptime OutStreamType: ty...@@ -98,7 +103,7 @@ pub fn AutoIndentingStream(comptime indent_delta: u8, comptime OutStreamType: ty
98 fn applyIndent(self: *Self) Error!void {103 fn applyIndent(self: *Self) Error!void {
99 const current_indent = self.currentIndent();104 const current_indent = self.currentIndent();
100 if (self.current_line_empty and current_indent > 0) {105 if (self.current_line_empty and current_indent > 0) {
101 try self.out_stream.outStream().writeByteNTimes(' ', current_indent);106 try self.writer_pointer.outStream().writeByteNTimes(' ', current_indent);
102 self.applied_indent = current_indent;107 self.applied_indent = current_indent;
103 }108 }
104109
lib/std/io/change_detection_stream.zig+9-8
...@@ -3,26 +3,27 @@ const io = std.io;...@@ -3,26 +3,27 @@ const io = std.io;
3const mem = std.mem;3const mem = std.mem;
4const assert = std.debug.assert;4const assert = std.debug.assert;
55
6pub fn ChangeDetectionStream(comptime OutStreamType: type) type {6/// Used to detect if the data written to a stream differs from a source buffer
7pub fn ChangeDetectionStream(comptime WriterType: type) type {
7 return struct {8 return struct {
8 const Self = @This();9 const Self = @This();
9 pub const Error = OutStreamType.Error;10 pub const Error = WriterType.Error;
10 pub const OutStream = io.OutStream(*Self, Error, write);11 pub const Writer = io.Writer(*Self, Error, write);
1112
12 anything_changed: bool = false,13 anything_changed: bool = false,
13 out_stream: *OutStreamType,14 writer_pointer: *WriterType,
14 source_index: usize,15 source_index: usize,
15 source: []const u8,16 source: []const u8,
1617
17 pub fn init(source: []const u8, out_stream: *OutStreamType) Self {18 pub fn init(source: []const u8, writer_pointer: *WriterType) Self {
18 return Self{19 return Self{
19 .out_stream = out_stream,20 .writer_pointer = writer_pointer,
20 .source_index = 0,21 .source_index = 0,
21 .source = source,22 .source = source,
22 };23 };
23 }24 }
2425
25 pub fn outStream(self: *Self) OutStream {26 pub fn writer(self: *Self) Writer {
26 return .{ .context = self };27 return .{ .context = self };
27 }28 }
2829
...@@ -40,7 +41,7 @@ pub fn ChangeDetectionStream(comptime OutStreamType: type) type {...@@ -40,7 +41,7 @@ pub fn ChangeDetectionStream(comptime OutStreamType: type) type {
40 }41 }
41 }42 }
4243
43 return self.out_stream.write(bytes);44 return self.writer_pointer.write(bytes);
44 }45 }
4546
46 pub fn changeDetected(self: *Self) bool {47 pub fn changeDetected(self: *Self) bool {
lib/std/io/find_byte_out_stream.zig+8-8
...@@ -2,21 +2,21 @@ const std = @import("../std.zig");...@@ -2,21 +2,21 @@ const std = @import("../std.zig");
2const io = std.io;2const io = std.io;
3const assert = std.debug.assert;3const assert = std.debug.assert;
44
5// An OutStream that returns whether the given character has been written to it.5/// An OutStream that returns whether the given character has been written to it.
6// The contents are not written to anything.6/// The contents are not written to anything.
7pub fn FindByteOutStream(comptime OutStreamType: type) type {7pub fn FindByteOutStream(comptime WriterType: type) type {
8 return struct {8 return struct {
9 const Self = @This();9 const Self = @This();
10 pub const Error = OutStreamType.Error;10 pub const Error = WriterType.Error;
11 pub const OutStream = io.OutStream(*Self, Error, write);11 pub const OutStream = io.OutStream(*Self, Error, write);
1212
13 out_stream: *OutStreamType,13 writer_pointer: *WriterType,
14 byte_found: bool,14 byte_found: bool,
15 byte: u8,15 byte: u8,
1616
17 pub fn init(byte: u8, out_stream: *OutStreamType) Self {17 pub fn init(byte: u8, writer_pointer: *WriterType) Self {
18 return Self{18 return Self{
19 .out_stream = out_stream,19 .writer_pointer = writer_pointer,
20 .byte = byte,20 .byte = byte,
21 .byte_found = false,21 .byte_found = false,
22 };22 };
...@@ -34,7 +34,7 @@ pub fn FindByteOutStream(comptime OutStreamType: type) type {...@@ -34,7 +34,7 @@ pub fn FindByteOutStream(comptime OutStreamType: type) type {
34 break :blk false;34 break :blk false;
35 };35 };
36 }36 }
37 return self.out_stream.writer().write(bytes);37 return self.writer_pointer.writer().write(bytes);
38 }38 }
39 };39 };
40}40}