build(deps): bundle tree-sitter-diff parser #40778

This commit is contained in:
Barrett Ruth
2026-07-19 18:55:20 -05:00
committed by GitHub
parent d2a3e0e881
commit 1dffa35d46
6 changed files with 14 additions and 1 deletions

View File

@@ -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 },

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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',

View File

@@ -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 },