diff --git a/build.zig b/build.zig index e94b729..81ce4d5 100644 --- a/build.zig +++ b/build.zig @@ -17,6 +17,7 @@ pub fn build(b: *std.Build) void { const imports: []const std.Build.Module.Import = if (use_tree_sitter) &.{ .{ .name = "build_options", .module = options_mod }, .{ .name = "treez", .module = tree_sitter_dep.module("treez") }, + ts_queryfile(b, tree_sitter_dep, "queries/cmake/highlights.scm"), 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"), @@ -28,16 +29,20 @@ pub fn build(b: *std.Build) void { ts_queryfile(b, tree_sitter_dep, "tree-sitter-elixir/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-gleam/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-hare/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-julia/queries/highlights.scm"), ts_queryfile(b, tree_sitter_dep, "tree-sitter-kdl/queries/highlights.scm"), ts_queryfile(b, tree_sitter_dep, "tree-sitter-lua/queries/highlights.scm"), + ts_queryfile(b, tree_sitter_dep, "tree-sitter-mail/queries/mail/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"), @@ -47,6 +52,7 @@ pub fn build(b: *std.Build) void { 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-odin/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"), @@ -59,6 +65,7 @@ pub fn build(b: *std.Build) void { 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-swift/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"), @@ -70,9 +77,11 @@ pub fn build(b: *std.Build) void { ts_queryfile(b, tree_sitter_dep, "tree-sitter-ziggy/tree-sitter-ziggy/queries/highlights.scm"), ts_queryfile(b, tree_sitter_dep, "tree-sitter-ziggy/tree-sitter-ziggy-schema/queries/highlights.scm"), + ts_queryfile(b, tree_sitter_dep, "queries/cmake/injections.scm"), ts_queryfile(b, tree_sitter_dep, "tree-sitter-cpp/queries/injections.scm"), ts_queryfile(b, tree_sitter_dep, "tree-sitter-elixir/queries/injections.scm"), ts_queryfile(b, tree_sitter_dep, "tree-sitter-gitcommit/queries/injections.scm"), + ts_queryfile(b, tree_sitter_dep, "tree-sitter-hare/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-kdl/queries/injections.scm"), @@ -82,12 +91,14 @@ pub fn build(b: *std.Build) void { 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-odin/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-superhtml/tree-sitter-superhtml/queries/injections.scm"), + ts_queryfile(b, tree_sitter_dep, "tree-sitter-swift/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"), diff --git a/build.zig.zon b/build.zig.zon index 905ebd3..d5171f5 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-876cc5a125cb822d44a9f94f6bde64fac66272ce/source.tar.gz", - .hash = "12208efbfead8c57adeabbd2293d6ed19e00f769e1d8aba0d544270479587c9f694a", + .url = "https://github.com/neurocyte/tree-sitter/releases/download/master-aea6072c6178d5cd0c97fff33e130f632f355bc2/source.tar.gz", + .hash = "12204c99c6093230023380068f386f7eb32ab83df9a8eb8b586ffe5aa44afa34ff0e", }, }, .paths = .{ diff --git a/src/file_type.zig b/src/file_type.zig index b27a0f9..dfecb1b 100644 --- a/src/file_type.zig +++ b/src/file_type.zig @@ -11,6 +11,7 @@ pub const FileType = @This(); color: u24, icon: []const u8, name: []const u8, +description: []const u8, lang_fn: LangFn, extensions: []const []const u8, highlights: [:0]const u8, @@ -119,6 +120,7 @@ fn load_file_types(comptime Namespace: type) []const FileType { .color = if (@hasField(@TypeOf(args), "color")) args.color else 0xffffff, .icon = if (@hasField(@TypeOf(args), "icon")) args.icon else "󱀫", .name = lang, + .description = args.description, .lang_fn = if (@hasField(@TypeOf(args), "parser")) args.parser else get_parser(lang), .extensions = vec(args.extensions), .comment = args.comment, diff --git a/src/file_types.zig b/src/file_types.zig index 284c857..c0b47c3 100644 --- a/src/file_types.zig +++ b/src/file_types.zig @@ -1,9 +1,11 @@ pub const agda = .{ + .description = "Agda", .extensions = .{"agda"}, .comment = "--", }; pub const bash = .{ + .description = "Bash", .color = 0x3e474a, .icon = "󱆃", .extensions = .{ "sh", "bash", ".profile" }, @@ -14,14 +16,16 @@ pub const bash = .{ }; pub const c = .{ + .description = "C", .icon = "", - .extensions = .{ "c", "h" }, + .extensions = .{"c"}, .comment = "//", .formatter = .{"clang-format"}, .language_server = .{"clangd"}, }; pub const @"c-sharp" = .{ + .description = "C#", .color = 0x68217a, .icon = "󰌛", .extensions = .{"cs"}, @@ -30,6 +34,7 @@ pub const @"c-sharp" = .{ }; pub const conf = .{ + .description = "Config", .color = 0x000000, .icon = "", .extensions = .{ "conf", "config", ".gitconfig" }, @@ -38,7 +43,20 @@ pub const conf = .{ .parser = fish.parser, }; +pub const cmake = .{ + .description = "CMake", + .color = 0x004078, + .icon = "", + .extensions = .{ "CMakeLists.txt", "cmake", "cmake.in" }, + .comment = "#", + .highlights = "queries/cmake/highlights.scm", + .injections = "queries/cmake/injections.scm", + .formatter = .{"cmake-format"}, + .language_server = .{"cmake-language-server"}, +}; + pub const cpp = .{ + .description = "C++", .color = 0x9c033a, .icon = "", .extensions = .{ "cc", "cpp", "cxx", "hpp", "hxx", "h", "ipp", "ixx" }, @@ -53,6 +71,7 @@ pub const cpp = .{ }; pub const css = .{ + .description = "CSS", .color = 0x3d8fc6, .icon = "󰌜", .extensions = .{"css"}, @@ -60,11 +79,13 @@ pub const css = .{ }; pub const diff = .{ + .description = "Diff", .extensions = .{ "diff", "patch" }, .comment = "#", }; pub const dockerfile = .{ + .description = "Docker", .color = 0x019bc6, .icon = "", .extensions = .{ "Dockerfile", "dockerfile", "docker", "Containerfile", "container" }, @@ -72,6 +93,7 @@ pub const dockerfile = .{ }; pub const dtd = .{ + .description = "DTD", .icon = "󰗀", .extensions = .{"dtd"}, .comment = "