this repo has no description
56
fork

Configure Feed

Select the types of activity you want to include in your feed.

cmd: allow -C to override output

+14 -18
+14 -18
src/main.zig
··· 3 3 const ourio = @import("ourio"); 4 4 const zeit = @import("zeit"); 5 5 6 - const assert = std.debug.assert; 7 6 const posix = std.posix; 8 7 9 8 const usage = ··· 123 122 124 123 cmd.opts.winsize = getWinsize(std.io.getStdOut().handle); 125 124 126 - if (cmd.opts.isatty()) { 127 - cmd.opts.shortview = .columns; 128 - } 125 + cmd.opts.shortview = if (cmd.opts.isatty()) .columns else .oneline; 129 126 130 127 const stdout = std.io.getStdOut().writer(); 131 128 const stderr = std.io.getStdErr().writer(); ··· 248 245 249 246 if (cmd.entries.len == 0) return; 250 247 251 - if (cmd.opts.long) { 252 - try printLong(cmd, bw.writer()); 253 - } else if (!cmd.opts.isatty()) { 254 - try printShortOnePerLine(cmd, bw.writer()); 255 - } else { 256 - switch (cmd.opts.shortview) { 257 - .columns => try printShortColumns(cmd, bw.writer()), 258 - .oneline => try printShortOnePerLine(cmd, bw.writer()), 259 - } 248 + if (cmd.opts.long) 249 + try printLong(cmd, bw.writer()) 250 + else switch (cmd.opts.shortview) { 251 + .columns => try printShortColumns(cmd, bw.writer()), 252 + .oneline => try printShortOnePerLine(cmd, bw.writer()), 260 253 } 261 254 try bw.flush(); 262 255 } 263 256 264 257 fn printShortColumns(cmd: Command, writer: anytype) !void { 265 - const ws = cmd.opts.winsize orelse return printShortOnePerLine(cmd, writer); 266 - if (ws.col == 0) return printShortOnePerLine(cmd, writer); 258 + const win_width = blk: { 259 + const ws = cmd.opts.winsize orelse break :blk 80; 260 + break :blk ws.col; 261 + }; 262 + if (win_width == 0) return printShortOnePerLine(cmd, writer); 267 263 268 264 const icon_width: u2 = if (cmd.opts.useIcons()) 2 else 0; 269 265 270 - var n_cols = @min(ws.col, cmd.entries.len); 266 + var n_cols = @min(win_width, cmd.entries.len); 271 267 272 268 const Column = struct { 273 269 width: usize = 0, ··· 287 283 var idx: usize = 0; 288 284 var line_width: usize = padding + icon_width * n_cols; 289 285 290 - if (line_width > ws.col) { 286 + if (line_width > win_width) { 291 287 n_cols -= 1; 292 288 continue :outer; 293 289 } ··· 312 308 .width = col_width, 313 309 }); 314 310 315 - if (line_width > ws.col) { 311 + if (line_width > win_width) { 316 312 n_cols -= 1; 317 313 continue :outer; 318 314 }