diff --git a/build.zig b/build.zig index 97db2c97e1..ff762b0e84 100644 --- a/build.zig +++ b/build.zig @@ -750,6 +750,9 @@ pub fn build(b: *std.Build) !void { const parser_c = b.dependency("treesitter_c", .{ .target = target, .optimize = optimize_ts }); parser_deps.dependOn(add_ts_parser(b, "c", parser_c.path("."), false, target, optimize_ts)); + const parser_diff = b.dependency("treesitter_diff", .{ .target = target, .optimize = optimize_ts }); + parser_deps.dependOn(add_ts_parser(b, "diff", parser_diff.path("."), false, target, optimize_ts)); + const parser_markdown = b.dependency("treesitter_markdown", .{ .target = target, .optimize = optimize_ts }); parser_deps.dependOn(add_ts_parser(b, "markdown", parser_markdown.path("tree-sitter-markdown/"), true, target, optimize_ts)); parser_deps.dependOn(add_ts_parser(b, "markdown_inline", parser_markdown.path("tree-sitter-markdown-inline/"), true, target, optimize_ts)); @@ -775,6 +778,7 @@ pub fn build(b: *std.Build) !void { const wasm_ts_parsers = [_]WasmTsParser{ .{ .name = "lua", .dir = parser_lua.path("."), .has_scanner = true }, .{ .name = "c", .dir = parser_c.path("."), .has_scanner = false }, + .{ .name = "diff", .dir = parser_diff.path("."), .has_scanner = false }, .{ .name = "markdown", .dir = parser_markdown.path("tree-sitter-markdown/"), .has_scanner = true }, .{ .name = "markdown_inline", .dir = parser_markdown.path("tree-sitter-markdown-inline/"), .has_scanner = true }, .{ .name = "vim", .dir = parser_vim.path("."), .has_scanner = true }, diff --git a/build.zig.zon b/build.zig.zon index c89127b59b..29cc6b192e 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -73,6 +73,10 @@ .url = "https://github.com/the-argus/zig-compile-commands/archive/9400cd1963ea6bb58fe47ba7d9700075b808cdd2.tar.gz", .hash = "zig_compile_commands-0.0.1-OZg5-e_JAAAGg1WHAePtq4l4Uvjs34BexnFFCZk63EaG", }, + .treesitter_diff = .{ + .url = "git+https://github.com/tree-sitter-grammars/tree-sitter-diff?ref=v0.1.0#2520c3f934b3179bb540d23e0ef45f75304b5fed", + .hash = "N-V-__8AAAULEwDDBPj9cGOTHPT1iE6oZabnwo70bstgVEf_", + }, }, .paths = .{ // TODO(bfredl): explicitly list the subdirs which actually are used diff --git a/cmake.deps/cmake/BuildTreesitterParsers.cmake b/cmake.deps/cmake/BuildTreesitterParsers.cmake index f71f1335ab..7fafcddb72 100644 --- a/cmake.deps/cmake/BuildTreesitterParsers.cmake +++ b/cmake.deps/cmake/BuildTreesitterParsers.cmake @@ -28,7 +28,7 @@ function(BuildTSParser) ${EXTERNALPROJECT_OPTIONS}) endfunction() -foreach(lang c lua vim vimdoc query) +foreach(lang c diff lua vim vimdoc query) BuildTSParser(LANG ${lang}) endforeach() BuildTSParser(LANG markdown CMAKE_FILE MarkdownParserCMakeLists.txt) diff --git a/cmake.deps/deps.txt b/cmake.deps/deps.txt index 3f2cf50f2a..7a9b53b215 100644 --- a/cmake.deps/deps.txt +++ b/cmake.deps/deps.txt @@ -35,6 +35,8 @@ UTF8PROC_SHA256 abfed50b6d4da51345713661370290f4f4747263ee73dc90356299dfc7990c78 TREESITTER_C_URL https://github.com/tree-sitter/tree-sitter-c/archive/v0.24.2.tar.gz TREESITTER_C_SHA256 2eeb4db31f8fa0865e45488503d13403923bcb485a1bdb637abff8c42dd97364 +TREESITTER_DIFF_URL https://github.com/tree-sitter-grammars/tree-sitter-diff/archive/v0.1.0.tar.gz +TREESITTER_DIFF_SHA256 0d0414ac873c33154b458f4d62fe096aa966392ff416920a08c5629c765aaed3 TREESITTER_LUA_URL https://github.com/tree-sitter-grammars/tree-sitter-lua/archive/v0.5.0.tar.gz TREESITTER_LUA_SHA256 cf01b93f4b61b96a6d27942cf28eeda4cbce7d503c3bef773a8930b3d778a2d9 TREESITTER_LUA_WASM_URL https://github.com/tree-sitter-grammars/tree-sitter-lua/releases/download/v0.5.0/tree-sitter-lua.wasm diff --git a/scripts/bump_deps.lua b/scripts/bump_deps.lua index df655406c3..e702c53f9c 100755 --- a/scripts/bump_deps.lua +++ b/scripts/bump_deps.lua @@ -17,6 +17,7 @@ local repos = { 'juliastrings/utf8proc', 'tree-sitter/tree-sitter', 'tree-sitter/tree-sitter-c', + 'tree-sitter-grammars/tree-sitter-diff', 'tree-sitter-grammars/tree-sitter-lua', 'tree-sitter-grammars/tree-sitter-vim', 'neovim/tree-sitter-vimdoc', diff --git a/src/static_ts_registry.c b/src/static_ts_registry.c index fba96a8895..5529581a78 100644 --- a/src/static_ts_registry.c +++ b/src/static_ts_registry.c @@ -6,6 +6,7 @@ extern const TSLanguage *tree_sitter_lua(void); extern const TSLanguage *tree_sitter_c(void); +extern const TSLanguage *tree_sitter_diff(void); extern const TSLanguage *tree_sitter_vim(void); extern const TSLanguage *tree_sitter_markdown(void); extern const TSLanguage *tree_sitter_markdown_inline(void); @@ -22,6 +23,7 @@ typedef struct { static TsParserEntry parsers[] = { { "lua", tree_sitter_lua }, { "c", tree_sitter_c }, + { "diff", tree_sitter_diff }, { "vim", tree_sitter_vim }, { "markdown", tree_sitter_markdown }, { "markdown_inline", tree_sitter_markdown_inline },