diff options
Diffstat (limited to 'src/session_paths.zig')
| -rw-r--r-- | src/session_paths.zig | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/session_paths.zig b/src/session_paths.zig index 162085e..170c8fb 100644 --- a/src/session_paths.zig +++ b/src/session_paths.zig @@ -11,6 +11,7 @@ //! gives a flat directory name per project, easy to spot in `ls`. const std = @import("std"); +const panto_home = @import("panto_home.zig"); const Allocator = std.mem.Allocator; /// Resolve the absolute sessions directory for the given cwd. Caller owns @@ -46,13 +47,9 @@ pub fn resolveSessionsBase( if (environ_map.get("PANTO_SESSION_DIR")) |explicit| { return try allocator.dupe(u8, explicit); } - if (environ_map.get("XDG_DATA_HOME")) |xdg| { - return try std.fs.path.join(allocator, &.{ xdg, "panto", "sessions" }); - } - if (environ_map.get("HOME")) |home| { - return try std.fs.path.join(allocator, &.{ home, ".local", "share", "panto", "sessions" }); - } - return error.NoHomeDirectory; + const home = try panto_home.homePath(allocator, environ_map); + defer allocator.free(home); + return try std.fs.path.join(allocator, &.{ home, "sessions" }); } /// Encode a working directory into a flat directory name. Caller owns. |
