archives support, builds .exe as well now

This commit is contained in:
2026-05-30 12:14:23 +02:00
parent 5a6fe38190
commit 7a537926fc
4 changed files with 19 additions and 1 deletions
+11
View File
@@ -19,6 +19,17 @@ pub fn build(b: *std.Build) void {
b.installArtifact(exe);
const exe_win = b.addExecutable(.{
.name = "file_organizer",
.root_module = b.createModule(.{
.root_source_file = b.path("src/main.zig"),
.target = b.resolveTargetQuery(.{ .cpu_arch = .x86_64, .os_tag = .windows }),
.optimize = optimize,
}),
});
b.installArtifact(exe_win);
const run_step = b.step("run", "Run the app");
const run_cmd = b.addRunArtifact(exe);
+6
View File
@@ -5,6 +5,7 @@ pub const Category = enum {
document,
music,
video,
archive,
code,
other,
};
@@ -19,6 +20,7 @@ const CategoryMap = [_]CategoryEntry{
.{ .category = .document, .extensions = &DocumentTypes },
.{ .category = .music, .extensions = &MusicTypes },
.{ .category = .video, .extensions = &VideoTypes },
.{ .category = .archive, .extensions = &ArchiveTypes },
};
const ImageTypes = [_][]const u8{
@@ -42,6 +44,10 @@ const VideoTypes = [_][]const u8{
".webm", ".wmv",
};
const ArchiveTypes = [_][]const u8{
".zip", ".rar", ".iso", ".tar", ".gz", ".7z", ".apk", ".cab", ".dar", ".dmg", ".jar", ".pea", ".tar.gz", ".tgz", ".tar.Z", ".tar.bz2", ".tbz2", ".tar.lz", ".tlz", ".tar.xz", ".txz", ".tar.zst",".war", ".zipx",
};
pub fn classify(name: []const u8) Category {
const extension = std.fs.path.extension(name);
+1 -1
View File
@@ -7,7 +7,7 @@ pub fn main() !void {
const io = threaded.io();
const cwd = std.Io.Dir.cwd();
const dir = try cwd.openDir(io, ".", .{ .iterate = true }); // change to root later
const dir = try cwd.openDir(io, ".", .{ .iterate = true });
defer dir.close(io);
var iterate = dir.iterate();
+1
View File
@@ -12,6 +12,7 @@ fn placeFile(io: std.Io, dir: std.Io.Dir, category: classify.Category, name: []c
.document => "Documents",
.music => "Music",
.video => "Videos",
.archive => "Archives",
.code => "Code",
.other => return,
};