aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/libghostty-vt/src/benchmark/options.zig
blob: 9322818d42cf5ec111e1568d1eac08443bf023ff (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//! This file contains helpers for CLI options.

const std = @import("std");
const global = @import("../global.zig");

/// Returns the data file for the given path in a way that is consistent
/// across our CLI. If the path is not set then no file is returned.
/// If the path is "-", then we will return stdin. If the path is
/// a file then we will open and return the handle.
pub fn dataFile(path_: ?[]const u8) !?std.Io.File {
    const path = path_ orelse return null;

    // Stdin
    if (std.mem.eql(u8, path, "-")) return .stdin();

    // Normal file
    const file = try std.Io.Dir.cwd().openFile(global.io(), path, .{});
    errdefer file.close(global.io());

    return file;
}