From d5d5f7f06397d73f497d352f2f38b1a53d932b0d Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Mon, 19 Feb 2024 23:38:33 +0200 Subject: Big update to modern zig --- src/Buffer.zig | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) (limited to 'src/Buffer.zig') diff --git a/src/Buffer.zig b/src/Buffer.zig index 8917772..473674c 100644 --- a/src/Buffer.zig +++ b/src/Buffer.zig @@ -31,11 +31,11 @@ config: Config, syntax: ?Syntax, pub fn init(allocator: Allocator, name: []const u8) !Buffer { - var name_owned = try allocator.dupe(u8, name); + const name_owned = try allocator.dupe(u8, name); errdefer allocator.free(name_owned); // TODO: buffer-specific config support - var config = try Config.readConfig(allocator); + const config = try Config.readConfig(allocator); return Buffer{ .allocator = allocator, @@ -156,7 +156,7 @@ pub fn deleteRow(self: *Buffer, at: usize) void { if (self.cy == self.rows.items.len) { self.cx = 0; } else { - self.cx = std.math.min(self.cx, self.rows.items[self.cy].data.items.len); + self.cx = @min(self.cx, self.rows.items[self.cy].data.items.len); } } @@ -184,7 +184,7 @@ pub fn drawRows(self: Buffer, writer: anytype, screenrows: usize, screencols: us } const char = row.rdata.items[rx]; - if (std.ascii.isCntrl(char)) { + if (std.ascii.isControl(char)) { const sym = [_]u8{if (char <= 26) char + '@' else '?'}; try writer.print("\x1b[7m{s}\x1b[m", .{&sym}); last_hl = Highlight.none; @@ -225,7 +225,7 @@ pub fn drawRows(self: Buffer, writer: anytype, screenrows: usize, screencols: us pub fn drawStatusBar(self: Buffer, writer: anytype, screencols: usize) !void { try writer.writeAll("\x1b[m\x1b[7m"); - var name = if (self.short_name.len > 20) + const name = if (self.short_name.len > 20) try std.fmt.allocPrint( self.allocator, "...{s}", @@ -250,8 +250,8 @@ pub fn drawStatusBar(self: Buffer, writer: anytype, screencols: usize) !void { }); defer self.allocator.free(rbuf); - var rlen = if (rbuf.len > screencols) screencols else rbuf.len; - var llen = if (lbuf.len > screencols - rlen) screencols - rlen else lbuf.len; + const rlen = if (rbuf.len > screencols) screencols else rbuf.len; + const llen = if (lbuf.len > screencols - rlen) screencols - rlen else lbuf.len; try writer.writeAll(lbuf[0..llen]); try writer.writeByteNTimes(' ', screencols - llen - rlen); @@ -286,7 +286,7 @@ pub fn goToLine(self: *Buffer, editor: *Editor) !void { if (self.cy == self.rows.items.len) { self.cx = 0; } else { - self.cx = std.math.min(self.cx, self.rows.items[self.cy].data.items.len); + self.cx = @min(self.cx, self.rows.items[self.cy].data.items.len); } } } @@ -409,7 +409,7 @@ pub fn pageDown(self: *Buffer, editor: Editor) void { pub fn pageUp(self: *Buffer, editor: Editor) void { const screenrows = editor.screenrows; - self.cy = std.math.min(self.rows.items.len, self.rowoff + self.config.page_overlap); + self.cy = @min(self.rows.items.len, self.rowoff + self.config.page_overlap); var i: usize = 0; while (i < screenrows) : (i += 1) { self.previousLine(); @@ -439,7 +439,9 @@ pub fn recenterTopBottom(self: *Buffer, editor: *Editor) !void { pub fn save(self: *Buffer, editor: *Editor) !void { if (self.file_path == null) { - const fname = (try editor.prompt(self.allocator, "Save as")) orelse { return; }; + const fname = (try editor.prompt(self.allocator, "Save as")) orelse { + return; + }; defer self.allocator.free(fname); const file_path = try es.files.resolvePath(self.allocator, fname); @@ -463,7 +465,8 @@ pub fn save(self: *Buffer, editor: *Editor) !void { const file_path = self.file_path.?; if (std.fs.path.dirname(file_path)) |dirname| { - if (std.fs.openDirAbsolute(dirname, .{})) |*dir| { + var res_dir = std.fs.openDirAbsolute(dirname, .{}); + if (res_dir) |*dir| { dir.close(); } else |_| { const prompt = try std.fmt.allocPrint( @@ -597,7 +600,7 @@ fn printWithLeftPadding( padding: u8, args: anytype, ) !void { - var unpadded = try std.fmt.allocPrint(allocator, fmt, args); + const unpadded = try std.fmt.allocPrint(allocator, fmt, args); defer allocator.free(unpadded); std.debug.assert(unpadded.len <= width); -- cgit v1.2.3