diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-28 09:55:21 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:14 -0300 |
| commit | f5c48e98b80ad6517c756e8fd15c976d4a2d1894 (patch) | |
| tree | 5816a604bd76d44186d3301508841fbb10a22ef0 /src/ninep/ctl.zig | |
| parent | 12d387e4a03204a2b6d0c51633e228063e883fad (diff) | |
| download | pardes-f5c48e98b80ad6517c756e8fd15c976d4a2d1894.tar.gz pardes-f5c48e98b80ad6517c756e8fd15c976d4a2d1894.zip | |
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 <[email protected]>
Diffstat (limited to 'src/ninep/ctl.zig')
| -rw-r--r-- | src/ninep/ctl.zig | 22 |
1 files changed, 4 insertions, 18 deletions
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/<n>/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(); } |
