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;
}
|