From f5c48e98b80ad6517c756e8fd15c976d4a2d1894 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Mon, 28 Sep 2026 09:55:21 -0300 Subject: Inline the one-line helpers in src/ninep at their call sites reads, paneFileNamed, topFileNamed, serialNamed, attrReply, makePane, events.pending, mtimeOf, versionOf, dirOf, cellOf, shiftBy, flagOf, stageIndexLine, ctlLen, listenersLen, activeSerial, fontName and Serials.has each wrapped a line or two used once or twice; the logic now reads where it is used. Helpers that do several things or are shared widely (bodyOf, fileOf, dirtyOf, nameOf, kindOf, clip, readRange, readFlag, pty's answer and waitingRun, nextSerialAfter) stay. Co-Authored-By: Claude Opus 5.5 --- src/ninep/ctl.zig | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) (limited to 'src/ninep/ctl.zig') diff --git a/src/ninep/ctl.zig b/src/ninep/ctl.zig index 14f1ae4f..945119ca 100644 --- a/src/ninep/ctl.zig +++ b/src/ninep/ctl.zig @@ -38,11 +38,6 @@ const Serials = struct { }; return s; } - - fn has(s: *const Serials, serial: u32) bool { - for (s.list[0..s.len]) |known| if (known == serial) return true; - return false; - } }; fn noteResult(p: *Pardes, serial: u32) void { @@ -52,11 +47,6 @@ fn noteResult(p: *Pardes, serial: u32) void { p.fs.results_len += 1; } -fn activeSerial(p: *Pardes) ?u32 { - const pane = p.panes[p.active] orelse return null; - return pane.serial; -} - /// Runs one look or exec from the pane `id`, then records the panes it /// created; failing that, a look records the pane it focused and an exec /// the pane it acted on (even one it closed). @@ -66,12 +56,12 @@ fn run(p: *Pardes, id: usize, exec: bool, text: []const u8) void { if (exec) _ = pardes.exec.execute(p, id, text) else look.lookAt(p, id, text); const after = Serials.snapshot(p); var created = false; - for (after.list[0..after.len]) |serial| if (!before.has(serial)) { + for (after.list[0..after.len]) |serial| if (std.mem.indexOfScalar(u32, before.list[0..before.len], serial) == null) { noteResult(p, serial); created = true; }; if (created) return; - noteResult(p, if (exec) context else activeSerial(p) orelse return); + noteResult(p, if (exec) context else (p.panes[p.active] orelse return).serial); } // ---- look and exec ---- @@ -140,11 +130,6 @@ pub fn readStatus(p: *Pardes, req: Req) Reply { // ---- /pane//ctl ---- -fn fontName(p: *Pardes) []const u8 { - const name = p.settings.font.effective_name.get(); - return if (name.len == 0) "default" else name; -} - fn writeQuoted(w: *std.Io.Writer, s: []const u8) !void { const plain = s.len > 0 and for (s) |c| { if (c <= ' ' or c == '\'') break false; @@ -175,7 +160,8 @@ pub fn paneText(p: *Pardes, pane: *Pane, buf: []u8) []const u8 { @intFromBool(pane_files.dirtyOf(pane)), pane.cols, }) catch return w.buffered(); - writeQuoted(&w, fontName(p)) catch return w.buffered(); + const font = p.settings.font.effective_name.get(); + writeQuoted(&w, if (font.len == 0) "default" else font) catch return w.buffered(); w.print(" {d:>11} {s} ", .{ config.tab_width, if (p.panes[p.active] == pane) "current" else "notcurrent" }) catch {}; return w.buffered(); } -- cgit v1.3