authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-05-31 20:49:05 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-05-31 20:49:05 -07:00
logabb4775126543c1054a05f547884775919f275d0
tree555acd31b39c549d114cdd897c89072121d31c74
parenta1a066da88dab50873a56f0349dc12dc76542077
signaturebadge-check Signed by SSH key SHA256:4hHJbtBRU58AYXwjL7fkz2fnQHdiye8x1QpTCQ0sHNw

use nfs


2 files changed, 6 insertions(+), 4 deletions(-)

src/lib.zig+5-4
......@@ -1,6 +1,7 @@
11const std = @import("std");
22pub const licenses = @import("licenses-text");
33const leven = @import("leven");
4const nfs = @import("nfs");
45
56pub fn detect(alloc: std.mem.Allocator, license_src: []const u8) ![]const u8 {
67 var min: ?usize = null;
......@@ -17,7 +18,7 @@ pub fn detect(alloc: std.mem.Allocator, license_src: []const u8) ![]const u8 {
1718 return licenses.spdx[ind.?][0];
1819}
1920
20pub fn detectInDir(alloc: std.mem.Allocator, dir: std.fs.Dir) !?[]const u8 {
21pub fn detectInDir(alloc: std.mem.Allocator, dir: nfs.Dir) !?[]const u8 {
2122 const b = (try testLicenseFile(alloc, dir, "LICENSE")) orelse
2223 (try testLicenseFile(alloc, dir, "LICENSE.md")) orelse
2324 (try testLicenseFile(alloc, dir, "LICENSE.txt")) orelse
......@@ -26,11 +27,11 @@ pub fn detectInDir(alloc: std.mem.Allocator, dir: std.fs.Dir) !?[]const u8 {
2627 return try detect(alloc, b);
2728}
2829
29pub fn testLicenseFile(alloc: std.mem.Allocator, dir: std.fs.Dir, name: []const u8) !?[]const u8 {
30pub fn testLicenseFile(alloc: std.mem.Allocator, dir: nfs.Dir, name: [:0]const u8) !?[]const u8 {
3031 const file = dir.openFile(name, .{}) catch |err| switch (err) {
31 error.FileNotFound => return null,
32 error.ENOENT => return null,
3233 else => |e| return e,
3334 };
3435 defer file.close();
35 return try file.reader().readAllAlloc(alloc, 1024 * 1024);
36 return try file.readAllAlloc(alloc, 1024 * 1024);
3637}
zig.mod+1
......@@ -6,5 +6,6 @@ description: Given an input text guess which SPDX license it most likely is an i
66dependencies:
77 - src: git https://github.com/nektro/zig-licenses-text
88 - src: git https://github.com/nektro/zig-leven
9 - src: git https://github.com/nektro/zig-nfs
910root_dependencies:
1011 - src: git https://github.com/nektro/zig-expect