diff --git a/build.zig b/build.zig index c74f15f..f9a3105 100644 --- a/build.zig +++ b/build.zig @@ -9,7 +9,7 @@ pub fn build(b: *std.Build) void { const target = b.standardTargetOptions(.{}); const optimize = b.standardOptimizeOption(.{}); - const tree_sitter_dep = b.dependency("tree-sitter", .{ + const tree_sitter_dep = b.dependency("tree_sitter", .{ .target = target, .optimize = optimize, }); diff --git a/build.zig.zon b/build.zig.zon index 0f161c8..eb592e2 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -1,11 +1,13 @@ .{ - .name = "flow-syntax", - .version = "0.0.1", + .name = .flow_syntax, + .version = "0.1.0", + .fingerprint = 0x3ba2584ea1cec85f, + .minimum_zig_version = "0.14.0-dev.3451+d8d2aa9af", .dependencies = .{ - .@"tree-sitter" = .{ + .tree_sitter = .{ .url = "https://github.com/neurocyte/tree-sitter/releases/download/master-86dd4d2536f2748c5b4ea0e1e70678039a569aac/source.tar.gz", - .hash = "1220e9fba96c468283129e977767472dee00b16f356e5912431cec8f1a009b6691a2", + .hash = "N-V-__8AACablCbp-6lsRoKDEp6Xd2dHLe4AsW81blkSQxzs", }, }, .paths = .{ diff --git a/src/file_type.zig b/src/file_type.zig index dfecb1b..d6c4445 100644 --- a/src/file_type.zig +++ b/src/file_type.zig @@ -88,7 +88,7 @@ fn ft_func_name(comptime lang: []const u8) []const u8 { const LangFn = *const fn () callconv(.C) ?*const treez.Language; -const FirstLineMatch = struct { +pub const FirstLineMatch = struct { prefix: ?[]const u8 = null, content: ?[]const u8 = null, }; @@ -105,7 +105,7 @@ fn vec(comptime args: anytype) []const []const u8 { fn load_file_types(comptime Namespace: type) []const FileType { comptime switch (@typeInfo(Namespace)) { - .Struct => |info| { + .@"struct" => |info| { var count = 0; for (info.decls) |_| { // @compileLog(decl.name, @TypeOf(@field(Namespace, decl.name))); diff --git a/src/file_types.zig b/src/file_types.zig index b33100a..870c6b7 100644 --- a/src/file_types.zig +++ b/src/file_types.zig @@ -1,3 +1,6 @@ +const file_type = @import("file_type.zig"); +const FirstLineMatch = file_type.FirstLineMatch; + pub const agda = .{ .description = "Agda", .extensions = .{"agda"}, @@ -18,7 +21,7 @@ pub const bash = .{ .icon = "󱆃", .extensions = .{ "sh", "bash", ".profile" }, .comment = "#", - .first_line_matches = .{ .prefix = "#!", .content = "sh" }, + .first_line_matches = FirstLineMatch{ .prefix = "#!", .content = "sh" }, .formatter = .{ "shfmt", "--indent", "4" }, .language_server = .{ "bash-language-server", "start" }, }; @@ -253,7 +256,7 @@ pub const lua = .{ .extensions = .{"lua"}, .comment = "--", .injections = "tree-sitter-lua/queries/injections.scm", - .first_line_matches = .{ .prefix = "--", .content = "lua" }, + .first_line_matches = FirstLineMatch{ .prefix = "--", .content = "lua" }, .language_server = .{"lua-lsp"}, }; @@ -263,7 +266,7 @@ pub const mail = .{ .extensions = .{ "eml", "mbox" }, .comment = ">", .highlights = "tree-sitter-mail/queries/mail/highlights.scm", - .first_line_matches = .{ .prefix = "From" }, + .first_line_matches = FirstLineMatch{ .prefix = "From" }, }; pub const make = .{ @@ -407,7 +410,7 @@ pub const python = .{ .icon = "󰌠", .extensions = .{ "py", "pyi" }, .comment = "#", - .first_line_matches = .{ .prefix = "#!", .content = "python" }, + .first_line_matches = FirstLineMatch{ .prefix = "#!", .content = "python" }, .language_server = .{"pylsp"}, }; @@ -520,7 +523,7 @@ pub const xml = .{ .extensions = .{"xml"}, .comment = "