From 891945bab1a720a2fe19101c4d62b5ee76c602d9 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Tue, 15 Jul 2025 17:00:06 +0200 Subject: [PATCH 1/3] build: update flow-syntax for 0.15.0-dev.1034+bd97b6618 --- src/syntax/build.zig | 12 ++++++------ src/syntax/build.zig.zon | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/syntax/build.zig b/src/syntax/build.zig index 2b3a149..e287604 100644 --- a/src/syntax/build.zig +++ b/src/syntax/build.zig @@ -14,10 +14,7 @@ pub fn build(b: *std.Build) void { .optimize = optimize, }); - const tree_sitter_host_dep = b.dependency("tree_sitter", .{ - .target = b.graph.host, - .optimize = optimize, - }); + const tree_sitter_host_dep = b.dependency("tree_sitter", .{}); const cbor_dep = b.dependency("cbor", .{ .target = target, @@ -26,8 +23,11 @@ pub fn build(b: *std.Build) void { const ts_bin_query_gen = b.addExecutable(.{ .name = "ts_bin_query_gen", - .target = b.graph.host, - .root_source_file = b.path("src/ts_bin_query_gen.zig"), + .root_module = b.createModule(.{ + .root_source_file = b.path("src/ts_bin_query_gen.zig"), + .target = target, + .optimize = optimize, + }), }); ts_bin_query_gen.linkLibC(); ts_bin_query_gen.root_module.addImport("cbor", cbor_dep.module("cbor")); diff --git a/src/syntax/build.zig.zon b/src/syntax/build.zig.zon index d8f5c7a..218a167 100644 --- a/src/syntax/build.zig.zon +++ b/src/syntax/build.zig.zon @@ -6,12 +6,12 @@ .dependencies = .{ .tree_sitter = .{ - .url = "https://github.com/neurocyte/tree-sitter/releases/download/master-353313ad92324f2e9edc10082ce4768d49e44e7e/source.tar.gz", - .hash = "N-V-__8AAEU0UidDMndETXNGKGW66b0yAu58jXL5dmLbOcfH", + .url = "https://github.com/neurocyte/tree-sitter/releases/download/master-f1f032d24f621e2ee4deab1c424d3bf9fb809f6e/source.tar.gz", + .hash = "tree_sitter-0.22.4-150-g7e3f5726-z0LhyN88UicDHlr22vQnOZ3DW9NWN1gOhDwLuCRXvrh2", }, .cbor = .{ - .url = "https://github.com/neurocyte/cbor/archive/5ea4b7319146f29bb1aa9acf65982feaba9edc3d.tar.gz", - .hash = "cbor-1.0.0-RcQE_GDyAABovyRXoYFX8zD_NVOLGDc9l5g09-W-svMR", + .url = "git+https://github.com/neurocyte/cbor#6eccce0b984296e7d05c20d83933cb31530e4fac", + .hash = "cbor-1.0.0-RcQE_N3yAADXjbyvhsmTQ6lf22l1nYgePq5FT8NaC4ic", }, }, .paths = .{ From b0096bed74cb93cacb923e79d3b9a13f16ec059e Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Tue, 15 Jul 2025 18:07:15 +0200 Subject: [PATCH 2/3] feat: create parent directories if needed when saving new files closes #84 --- src/buffer/Buffer.zig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/buffer/Buffer.zig b/src/buffer/Buffer.zig index c90bf76..0c8e5c4 100644 --- a/src/buffer/Buffer.zig +++ b/src/buffer/Buffer.zig @@ -1338,6 +1338,8 @@ pub fn store_to_existing_file_const(self: *const Self, file_path: []const u8) St } pub fn store_to_new_file_const(self: *const Self, file_path: []const u8) StoreToFileError!void { + if (std.fs.path.dirname(file_path)) |dir_name| + try cwd().makePath(dir_name); const file = try cwd().createFile(file_path, .{ .read = true, .truncate = true }); defer file.close(); try self.store_to_file_const(file); From 0a74bab466ebac025886c5bc370b64afcd971bac Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Tue, 15 Jul 2025 18:35:19 +0200 Subject: [PATCH 3/3] fix: bitrot in syntax.FileType.guess_static --- src/syntax/src/file_type.zig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/syntax/src/file_type.zig b/src/syntax/src/file_type.zig index c59a922..88a1494 100644 --- a/src/syntax/src/file_type.zig +++ b/src/syntax/src/file_type.zig @@ -30,7 +30,7 @@ pub fn get_all() []const FileType { pub fn guess_static(file_path: ?[]const u8, content: []const u8) ?FileType { if (guess_first_line_static(content)) |ft| return ft; - for (static_file_types.values()) |*file_type| + for (static_file_types.values()) |file_type| if (file_path) |fp| if (match_file_type(file_type.extensions, fp)) return file_type; return null; @@ -38,7 +38,7 @@ pub fn guess_static(file_path: ?[]const u8, content: []const u8) ?FileType { fn guess_first_line_static(content: []const u8) ?FileType { const first_line = if (std.mem.indexOf(u8, content, "\n")) |pos| content[0..pos] else content; - for (static_file_types) |*file_type| + for (static_file_types.values()) |file_type| if (file_type.first_line_matches) |match| if (match_first_line(match.prefix, match.content, first_line)) return file_type;