From 0f2a311abeacdf928fddbcde88f8d788c0c719e2 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Mon, 29 Sep 2025 15:38:59 +0200 Subject: [PATCH 1/9] build: update tree-sitter for gettext-po, awk, latex, nickel, elm, hcl and perl support --- build.zig.zon | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index ba748bd..d96221e 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -6,8 +6,8 @@ .dependencies = .{ .tree_sitter = .{ - .url = "https://github.com/neurocyte/tree-sitter/releases/download/zig-0.14-442fdce63897329a7cf2f533508c6879e0e1c094/source.tar.gz", - .hash = "N-V-__8AAEzbrirOSwR2m8orFR06xmMmuA_m7wSxLi29ntV3", + .url = "https://github.com/neurocyte/tree-sitter/releases/download/zig-0.14-36eca46fdfe00a53056c8d84e1628f55a25048bb/source.tar.gz", + .hash = "N-V-__8AAMF_rS6BaLxN8oA8RJ8DUNN8xZr5718FlLxN-fFO", }, .cbor = .{ .url = "https://github.com/neurocyte/cbor/archive/1fccb83c70cd84e1dff57cc53f7db8fb99909a94.tar.gz", From 68932ba74be74a9d9c3c188cd63dee2b22c76091 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Mon, 29 Sep 2025 15:40:34 +0200 Subject: [PATCH 2/9] feat: add gettext-po file type --- build.zig | 2 ++ src/file_types.zig | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/build.zig b/build.zig index de865d1..6241fd2 100644 --- a/build.zig +++ b/build.zig @@ -76,6 +76,7 @@ pub fn build(b: *std.Build) void { ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-openscad/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-org/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-php/queries/highlights.scm"); + ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-po/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-powershell/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-proto/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-python/queries/highlights.scm"); @@ -124,6 +125,7 @@ pub fn build(b: *std.Build) void { ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-odin/queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-openscad/queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-php/queries/injections.scm"); + ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-po/queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-purescript/queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-purescript/vim_queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-rust/queries/injections.scm"); diff --git a/src/file_types.zig b/src/file_types.zig index 8bf077b..369fd85 100644 --- a/src/file_types.zig +++ b/src/file_types.zig @@ -395,6 +395,14 @@ pub const php = .{ .injections = "tree-sitter-php/queries/injections.scm", }; +pub const po = .{ + .description = "Gettext Message Catalog", + .icon = "", + .extensions = .{"po"}, + .comment = "#", + .injections = "tree-sitter-po/queries/injections.scm", +}; + pub const powershell = .{ .description = "PowerShell", .color = 0x0873c5, From 54cebe31e625aba264121897e20d3b8cf3de3643 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Mon, 29 Sep 2025 15:48:16 +0200 Subject: [PATCH 3/9] feat: add awk file type --- build.zig | 1 + src/file_types.zig | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/build.zig b/build.zig index 6241fd2..9edb349 100644 --- a/build.zig +++ b/build.zig @@ -37,6 +37,7 @@ pub fn build(b: *std.Build) void { ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "queries/cmake/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-agda/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-astro/queries/highlights.scm"); + ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-awk/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-bash/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-c-sharp/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-c/queries/highlights.scm"); diff --git a/src/file_types.zig b/src/file_types.zig index 369fd85..ec49d17 100644 --- a/src/file_types.zig +++ b/src/file_types.zig @@ -14,6 +14,13 @@ pub const astro = .{ .comment = "//", }; +pub const awk = .{ + .description = "Awk", + .icon = "", + .extensions = .{"awk", "gawk"}, + .comment = "#", +}; + pub const bash = .{ .description = "Bash", .color = 0x3e474a, From 3c16aebea6218a06dabe4fed2ffc7e0c7b082fe3 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Mon, 29 Sep 2025 15:54:39 +0200 Subject: [PATCH 4/9] feat: add latex file type --- build.zig | 2 ++ src/file_types.zig | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/build.zig b/build.zig index 9edb349..c98fe0d 100644 --- a/build.zig +++ b/build.zig @@ -105,6 +105,7 @@ pub fn build(b: *std.Build) void { ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-ziggy/tree-sitter-ziggy-schema/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "nvim-treesitter/queries/verilog/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "nvim-treesitter/queries/commonlisp/highlights.scm"); + ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "nvim-treesitter/queries/latex/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "queries/cmake/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-astro/queries/injections.scm"); @@ -138,6 +139,7 @@ pub fn build(b: *std.Build) void { ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-zig/queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "nvim-treesitter/queries/verilog/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "nvim-treesitter/queries/commonlisp/injections.scm"); + ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "nvim-treesitter/queries/latex/injections.scm"); const syntax_mod = b.addModule("syntax", .{ .root_source_file = b.path("src/syntax.zig"), diff --git a/src/file_types.zig b/src/file_types.zig index ec49d17..ff3316d 100644 --- a/src/file_types.zig +++ b/src/file_types.zig @@ -257,6 +257,16 @@ pub const kdl = .{ .comment = "//", }; +pub const latex = .{ + .description = "LaTeX", + .color = 0x008080, + .icon = "", + .extensions = .{ "tex", "aux", "sty", "cls" }, + .comment = "%", + .highlights = "nvim-treesitter/queries/latex/highlights.scm", + .injections = "nvim-treesitter/queries/latex/injections.scm", +}; + pub const commonlisp = .{ .description = "Lisp", .color = 0xFFFFFF, From 73e2396f616801e3e30ecd19e41d9941c771bb77 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Mon, 29 Sep 2025 16:02:56 +0200 Subject: [PATCH 5/9] feat: add nickel file type --- build.zig | 2 ++ src/file_types.zig | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/build.zig b/build.zig index c98fe0d..fa2f101 100644 --- a/build.zig +++ b/build.zig @@ -68,6 +68,7 @@ pub fn build(b: *std.Build) void { ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-markdown/tree-sitter-markdown/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-markdown/tree-sitter-markdown-inline/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-nasm/queries/highlights.scm"); + ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-nickel/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-nim/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-ninja/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-nix/queries/highlights.scm"); @@ -122,6 +123,7 @@ pub fn build(b: *std.Build) void { ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-markdown/tree-sitter-markdown-inline/queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-markdown/tree-sitter-markdown/queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-nasm/queries/injections.scm"); + ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-nickel/queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-nix/queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-nu/queries/nu/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-odin/queries/injections.scm"); diff --git a/src/file_types.zig b/src/file_types.zig index ff3316d..98c46db 100644 --- a/src/file_types.zig +++ b/src/file_types.zig @@ -329,6 +329,15 @@ pub const nasm = .{ .injections = "tree-sitter-nasm/queries/injections.scm", }; +pub const nickel = .{ + .description = "Nickel", + .color = 0xe1c3fd, + .icon = "", + .extensions = .{"ncl"}, + .comment = "#", + .injections = "tree-sitter-nickel/queries/injections.scm", +}; + pub const nim = .{ .description = "Nim", .color = 0xffe953, From beea570be7bd483c6eb41d7af9342fa5f496aa3c Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Mon, 29 Sep 2025 16:09:27 +0200 Subject: [PATCH 6/9] feat: add elm file type --- build.zig | 2 ++ src/file_types.zig | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/build.zig b/build.zig index fa2f101..66b0d79 100644 --- a/build.zig +++ b/build.zig @@ -46,6 +46,7 @@ pub fn build(b: *std.Build) void { ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-diff/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-dockerfile/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-elixir/queries/highlights.scm"); + ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-elm/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-git-rebase/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-gitcommit/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-gleam/queries/highlights.scm"); @@ -112,6 +113,7 @@ pub fn build(b: *std.Build) void { ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-astro/queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-cpp/queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-elixir/queries/injections.scm"); + ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-elm/queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-fsharp/queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-gitcommit/queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-hare/queries/injections.scm"); diff --git a/src/file_types.zig b/src/file_types.zig index 98c46db..18e6b00 100644 --- a/src/file_types.zig +++ b/src/file_types.zig @@ -127,6 +127,15 @@ pub const elixir = .{ .injections = "tree-sitter-elixir/queries/injections.scm", }; +pub const elm = .{ + .description = "Elm", + .color = 0x0e76ad, + .icon = "", + .extensions = .{ "elm" }, + .comment = "--", + .injections = "tree-sitter-elm/queries/injections.scm", +}; + pub const fish = .{ .description = "Fish", .extensions = .{"fish"}, From dcb7b95ead684cc64a389dda3d012dcd3970ebaa Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Mon, 29 Sep 2025 16:25:20 +0200 Subject: [PATCH 7/9] feat: add hcl file type --- build.zig | 2 ++ src/file_types.zig | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/build.zig b/build.zig index 66b0d79..076dc21 100644 --- a/build.zig +++ b/build.zig @@ -108,6 +108,7 @@ pub fn build(b: *std.Build) void { ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "nvim-treesitter/queries/verilog/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "nvim-treesitter/queries/commonlisp/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "nvim-treesitter/queries/latex/highlights.scm"); + ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "nvim-treesitter/queries/hcl/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "queries/cmake/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-astro/queries/injections.scm"); @@ -144,6 +145,7 @@ pub fn build(b: *std.Build) void { ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "nvim-treesitter/queries/verilog/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "nvim-treesitter/queries/commonlisp/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "nvim-treesitter/queries/latex/injections.scm"); + ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "nvim-treesitter/queries/hcl/injections.scm"); const syntax_mod = b.addModule("syntax", .{ .root_source_file = b.path("src/syntax.zig"), diff --git a/src/file_types.zig b/src/file_types.zig index 18e6b00..80cb864 100644 --- a/src/file_types.zig +++ b/src/file_types.zig @@ -199,6 +199,16 @@ pub const haskell = .{ .comment = "--", }; +pub const hcl = .{ + .description = "Terraform/HCL", + .color = 0x8956c4, + .icon = "", + .extensions = .{ "hcl", "tf", "tfvars" }, + .comment = "#", + .highlights = "nvim-treesitter/queries/hcl/highlights.scm", + .injections = "nvim-treesitter/queries/hcl/injections.scm", +}; + pub const html = .{ .description = "HTML", .color = 0xe54d26, From 0eb3ebcb801468e1b148e46c7c7561a0c044e411 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Mon, 29 Sep 2025 16:29:46 +0200 Subject: [PATCH 8/9] feat: add perl file type --- build.zig | 2 ++ src/file_types.zig | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/build.zig b/build.zig index 076dc21..f0d8d51 100644 --- a/build.zig +++ b/build.zig @@ -78,6 +78,7 @@ pub fn build(b: *std.Build) void { ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-odin/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-openscad/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-org/queries/highlights.scm"); + ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-perl/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-php/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-po/queries/highlights.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-powershell/queries/highlights.scm"); @@ -131,6 +132,7 @@ pub fn build(b: *std.Build) void { ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-nu/queries/nu/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-odin/queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-openscad/queries/injections.scm"); + ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-perl/queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-php/queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-po/queries/injections.scm"); ts_queryfile(b, tree_sitter_dep, ts_bin_query_gen, "tree-sitter-purescript/queries/injections.scm"); diff --git a/src/file_types.zig b/src/file_types.zig index 80cb864..81b39f4 100644 --- a/src/file_types.zig +++ b/src/file_types.zig @@ -431,6 +431,15 @@ pub const org = .{ .comment = "#", }; +pub const perl = .{ + .description = "Perl", + .color = 0x005c81, + .icon = "", + .extensions = .{"pl", "pm", "t"}, + .comment = "#", + .injections = "tree-sitter-perl/queries/injections.scm", +}; + pub const php = .{ .description = "PHP", .color = 0x6181b6, From c9f6934ec7823223590a9ae44a581c0e385462d1 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Mon, 29 Sep 2025 16:36:05 +0200 Subject: [PATCH 9/9] fix: simply file gettext file type name --- src/file_types.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/file_types.zig b/src/file_types.zig index 81b39f4..294d8b8 100644 --- a/src/file_types.zig +++ b/src/file_types.zig @@ -450,7 +450,7 @@ pub const php = .{ }; pub const po = .{ - .description = "Gettext Message Catalog", + .description = "Gettext (po)", .icon = "", .extensions = .{"po"}, .comment = "#",