diff --git a/build.zig b/build.zig index 5478b3f..e94b729 100644 --- a/build.zig +++ b/build.zig @@ -45,6 +45,7 @@ pub fn build(b: *std.Build) void { ts_queryfile(b, tree_sitter_dep, "tree-sitter-nim/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-nu/queries/nu/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"), @@ -55,12 +56,13 @@ pub fn build(b: *std.Build) void { 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-scala/queries/highlights.scm"), ts_queryfile(b, tree_sitter_dep, "tree-sitter-scheme/queries/highlights.scm"), ts_queryfile(b, tree_sitter_dep, "tree-sitter-superhtml/tree-sitter-superhtml/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-typst/queries/typst/highlights.scm"), + ts_queryfile(b, tree_sitter_dep, "tree-sitter-vim/queries/vim/highlights.scm"), ts_queryfile(b, tree_sitter_dep, "tree-sitter-xml/queries/dtd/highlights.scm"), ts_queryfile(b, tree_sitter_dep, "tree-sitter-xml/queries/xml/highlights.scm"), ts_queryfile(b, tree_sitter_dep, "tree-sitter-yaml/queries/highlights.scm"), @@ -79,6 +81,7 @@ pub fn build(b: *std.Build) void { 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-nu/queries/nu/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"), @@ -86,6 +89,7 @@ pub fn build(b: *std.Build) void { ts_queryfile(b, tree_sitter_dep, "tree-sitter-rust/queries/injections.scm"), ts_queryfile(b, tree_sitter_dep, "tree-sitter-superhtml/tree-sitter-superhtml/queries/injections.scm"), ts_queryfile(b, tree_sitter_dep, "tree-sitter-typst/queries/typst/injections.scm"), + ts_queryfile(b, tree_sitter_dep, "tree-sitter-vim/queries/vim/injections.scm"), ts_queryfile(b, tree_sitter_dep, "tree-sitter-zig/queries/injections.scm"), } else &.{ .{ .name = "build_options", .module = options_mod }, diff --git a/build.zig.zon b/build.zig.zon index 0feb559..905ebd3 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -4,8 +4,8 @@ .dependencies = .{ .@"tree-sitter" = .{ - .url = "https://github.com/neurocyte/tree-sitter/releases/download/master-5f48bf7b250b307ce05f53145033fb5ee1aac94b/source.tar.gz", - .hash = "12205af13c727d58cbfa3f3302f2363172018295337287edf5fd10d8472eb48e51f6", + .url = "https://github.com/neurocyte/tree-sitter/releases/download/master-876cc5a125cb822d44a9f94f6bde64fac66272ce/source.tar.gz", + .hash = "12208efbfead8c57adeabbd2293d6ed19e00f769e1d8aba0d544270479587c9f694a", }, }, .paths = .{ diff --git a/src/file_type.zig b/src/file_type.zig index 4e5d1dc..ec7c6d9 100644 --- a/src/file_type.zig +++ b/src/file_type.zig @@ -125,6 +125,8 @@ fn load_file_types(comptime Namespace: type) []const FileType { .highlights = if (build_options.use_tree_sitter) if (@hasField(@TypeOf(args), "highlights")) @embedFile(args.highlights) + else if (@hasField(@TypeOf(args), "highlights_list")) + @embedFile(args.highlights_list[0]) ++ "\n" ++ @embedFile(args.highlights_list[1]) else @embedFile("tree-sitter-" ++ lang ++ "/queries/highlights.scm") else diff --git a/src/file_types.zig b/src/file_types.zig index 1532ebb..284c857 100644 --- a/src/file_types.zig +++ b/src/file_types.zig @@ -43,6 +43,10 @@ pub const cpp = .{ .icon = "", .extensions = .{ "cc", "cpp", "cxx", "hpp", "hxx", "h", "ipp", "ixx" }, .comment = "//", + .highlights_list = .{ + "tree-sitter-c/queries/highlights.scm", + "tree-sitter-cpp/queries/highlights.scm", + }, .injections = "tree-sitter-cpp/queries/injections.scm", .formatter = .{"clang-format"}, .language_server = .{"clangd"}, @@ -243,6 +247,16 @@ pub const nix = .{ .injections = "tree-sitter-nix/queries/injections.scm", }; +pub const nu = .{ + .color = 0x3AA675, + .icon = ">", + .extensions = .{ "nu", "nushell" }, + .comment = "#", + .language_server = .{"nu", "--lsp"}, + .highlights = "tree-sitter-nu/queries/nu/highlights.scm", + .injections = "tree-sitter-nu/queries/nu/injections.scm", +}; + pub const ocaml = .{ .color = 0xF18803, .icon = "", @@ -348,6 +362,15 @@ pub const typst = .{ .injections = "tree-sitter-typst/queries/typst/injections.scm", }; +pub const vim = .{ + .color = 0x007f00, + .icon = "", + .extensions = .{"vim"}, + .comment = "\"", + .highlights = "tree-sitter-vim/queries/vim/highlights.scm", + .injections = "tree-sitter-vim/queries/vim/injections.scm", +}; + pub const xml = .{ .icon = "󰗀", .extensions = .{"xml"},