From 0e71a25a4986a2e859fa043dbda64a35370d9652 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Wed, 6 Mar 2024 22:34:07 +0100 Subject: [PATCH] build: migrate to flow-syntax --- build.zig | 89 ++++----------------------------------------------- build.zig.zon | 8 ++--- 2 files changed, 10 insertions(+), 87 deletions(-) diff --git a/build.zig b/build.zig index 5b607b1..cbfb03a 100644 --- a/build.zig +++ b/build.zig @@ -74,6 +74,11 @@ pub fn build(b: *std.Build) void { const themes_dep = b.dependency("themes", .{}); + const syntax_dep = b.dependency("syntax", .{ + .target = target, + .optimize = dependency_optimize, + }); + const thespian_dep = b.dependency("thespian", .{ .target = target, .optimize = dependency_optimize, @@ -102,11 +107,6 @@ pub fn build(b: *std.Build) void { }, }); - const tree_sitter_dep = b.dependency("tree-sitter", .{ - .target = target, - .optimize = dependency_optimize, - }); - const color_mod = b.createModule(.{ .root_source_file = .{ .path = "src/color.zig" }, }); @@ -135,74 +135,6 @@ pub fn build(b: *std.Build) void { }, }); - const syntax_mod = b.createModule(.{ - .root_source_file = .{ .path = "src/syntax.zig" }, - .imports = &.{ - .{ .name = "Buffer", .module = Buffer_mod }, - .{ .name = "tracy", .module = tracy_mod }, - .{ .name = "treez", .module = tree_sitter_dep.module("treez") }, - ts_queryfile(b, tree_sitter_dep, "tree-sitter-agda/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-bash/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-c-sharp/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-c/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-cpp/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-css/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-diff/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-dockerfile/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-git-rebase/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-gitcommit/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-go/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-fish/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-haskell/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-html/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-java/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-javascript/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-jsdoc/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-json/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-lua/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-make/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-markdown/tree-sitter-markdown/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-markdown/tree-sitter-markdown-inline/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-nasm/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-ninja/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-nix/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-ocaml/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-openscad/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-org/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-php/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-python/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-purescript/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-regex/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-ruby/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-rust/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-ssh-config/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-scala/queries/scala/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-scheme/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-toml/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-typescript/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-xml/dtd/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-xml/xml/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-zig/queries/highlights.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-ziggy/tree-sitter-ziggy/queries/highlights.scm"), - - ts_queryfile(b, tree_sitter_dep, "tree-sitter-cpp/queries/injections.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-gitcommit/queries/injections.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-html/queries/injections.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-javascript/queries/injections.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-lua/queries/injections.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-markdown/tree-sitter-markdown-inline/queries/injections.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-markdown/tree-sitter-markdown/queries/injections.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-nasm/queries/injections.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-nix/queries/injections.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-openscad/queries/injections.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-php/queries/injections.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-purescript/queries/injections.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-purescript/vim_queries/injections.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-rust/queries/injections.scm"), - ts_queryfile(b, tree_sitter_dep, "tree-sitter-zig/queries/injections.scm"), - }, - }); - const diff_mod = b.createModule(.{ .root_source_file = .{ .path = "src/diff.zig" }, .imports = &.{ @@ -229,7 +161,7 @@ pub fn build(b: *std.Build) void { .{ .name = "config", .module = config_mod }, .{ .name = "log", .module = log_mod }, .{ .name = "location_history", .module = location_history_mod }, - .{ .name = "syntax", .module = syntax_mod }, + .{ .name = "syntax", .module = syntax_dep.module("syntax") }, .{ .name = "text_manip", .module = text_manip_mod }, .{ .name = "Buffer", .module = Buffer_mod }, .{ .name = "ripgrep", .module = ripgrep_mod }, @@ -288,12 +220,3 @@ pub fn build(b: *std.Build) void { const test_step = b.step("test", "Run unit tests"); test_step.dependOn(&test_run_cmd.step); } - -fn ts_queryfile(b: *std.Build, dep: *std.Build.Dependency, comptime sub_path: []const u8) std.Build.Module.Import { - return .{ - .name = sub_path, - .module = b.createModule(.{ - .root_source_file = dep.path(sub_path), - }), - }; -} diff --git a/build.zig.zon b/build.zig.zon index 2549026..8e9bb2a 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -11,10 +11,6 @@ .url = "https://github.com/Hejsil/zig-clap/archive/9c23bcb5aebe0c2542b4de4472f60959974e2222.tar.gz", .hash = "12209e829da9d7d0bc089e4e0cbc07bb882f6192cd583277277da34df53cd05b8f2a", }, - .@"tree-sitter" = .{ - .url = "https://github.com/neurocyte/tree-sitter/releases/download/master-fb56a3e014f77e8189ae8b60408c555f8fe8be88/source.tar.gz", - .hash = "12200ead593d0f6aa6352dba239cc83a1d1457b060738560dbb890fd5cc5957d710f", - }, .tracy = .{ .url = "https://github.com/neurocyte/zig-tracy/archive/d2113e7d778ebe7a063e95b5182ff145343aac38.tar.gz", .hash = "122005c37f1324dcdd00600f266b64f0a66a73428550015ece51d52ae40a552608d1", @@ -31,6 +27,10 @@ .url = "https://github.com/neurocyte/flow-themes/releases/download/master-9ee6d7bc28256202aa7b3b20555bf480715c4e5c/flow-themes.tar.gz", .hash = "1220cd21ee1f3e194f1cca5d52175c20d2c663a53eadaa9057997e72aa828f5d3864", }, + .syntax = .{ + .url = "https://github.com/neurocyte/flow-syntax/archive/e58df221cc9ea8086fdb26df348f04429361d1f0.tar.gz", + .hash = "1220f1772359f6c1fc04df79b3f9aa5899efc87b3b8d0e65f44b40df66260cf79183", + }, }, .paths = .{ "include",