Merge pull request #615 from Techatrix/check-global-path

Only conditionally ask for global configuration in setup wizard
This commit is contained in:
Lee Cannon 2022-08-30 18:22:17 +01:00 committed by GitHub
commit 2caab981e3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -121,18 +121,18 @@ pub fn wizard(allocator: std.mem.Allocator) !void {
defer if (local_path) |d| allocator.free(d); defer if (local_path) |d| allocator.free(d);
defer if (global_path) |d| allocator.free(d); defer if (global_path) |d| allocator.free(d);
const can_access_global = blk: {
std.fs.accessAbsolute(global_path orelse break :blk false, .{}) catch break :blk false;
break :blk true;
};
if (global_path == null and local_path == null) { if (global_path == null and local_path == null) {
write("Could not open a global or local config directory.\n"); write("Could not open a global or local config directory.\n");
return; return;
} }
var config_path: []const u8 = undefined; var config_path: []const u8 = undefined;
if (try askBool("Should this configuration be system-wide?")) { if (can_access_global and try askBool("Should this configuration be system-wide?")) {
if (global_path) |p| { config_path = global_path.?;
config_path = p;
} else {
write("Could not find a global config directory.\n");
return;
}
} else { } else {
if (local_path) |p| { if (local_path) |p| {
config_path = p; config_path = p;