diff options
| author | Christian Clason <c.clason@uni-graz.at> | 2024-06-13 12:30:57 +0200 |
|---|---|---|
| committer | Christian Clason <c.clason@uni-graz.at> | 2025-05-12 18:43:40 +0200 |
| commit | a8677385b77b9dd567cdb8b09e5f972a25c7c84d (patch) | |
| tree | b61c8be952d34be00a1788b0e58c25df20f3b2e3 /lua | |
| parent | feat!: use tree-sitter build (diff) | |
| download | nvim-treesitter-a8677385b77b9dd567cdb8b09e5f972a25c7c84d.tar nvim-treesitter-a8677385b77b9dd567cdb8b09e5f972a25c7c84d.tar.gz nvim-treesitter-a8677385b77b9dd567cdb8b09e5f972a25c7c84d.tar.bz2 nvim-treesitter-a8677385b77b9dd567cdb8b09e5f972a25c7c84d.tar.lz nvim-treesitter-a8677385b77b9dd567cdb8b09e5f972a25c7c84d.tar.xz nvim-treesitter-a8677385b77b9dd567cdb8b09e5f972a25c7c84d.tar.zst nvim-treesitter-a8677385b77b9dd567cdb8b09e5f972a25c7c84d.zip | |
feat(install)!: drop support for git
Problem: Using git for installing parsers can lead to data loss if in a
git commit buffer.
Solution: Only support downloading via curl+tar, which are installed on
all supported platforms (since Windows 10). Curl will also be required
for WASM parsers (and for `vim.net.download()`).
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/nvim-treesitter/health.lua | 28 | ||||
| -rw-r--r-- | lua/nvim-treesitter/install.lua | 287 | ||||
| -rw-r--r-- | lua/nvim-treesitter/parsers.lua | 216 |
3 files changed, 261 insertions, 270 deletions
diff --git a/lua/nvim-treesitter/health.lua b/lua/nvim-treesitter/health.lua index dc7078bdf..30c3345d3 100644 --- a/lua/nvim-treesitter/health.lua +++ b/lua/nvim-treesitter/health.lua @@ -67,20 +67,28 @@ local function install_health() end end - do -- curl+tar or git check - local curl = check_exe('curl') - local tar = check_exe('tar') + do -- node check + local node = check_exe('node') + if node then + health.ok(string.format('node %s (%s)', node.version, node.path)) + else + health.error('node not found') + end + end - if curl and tar and vim.uv.os_uname().sysname ~= 'Windows_NT' then + do -- curl+tar check + local tar = check_exe('tar') + if tar then health.ok(string.format('tar %s (%s)', tar.version, tar.path)) + else + health.error('tar not found') + end + + local curl = check_exe('curl') + if curl then health.ok(string.format('curl %s (%s)\n%s', curl.version, curl.path, curl.out)) else - local git = check_exe('git') - if git then - health.ok(string.format('git %s (%s)', git.version, git.path)) - else - health.error('Either curl and tar or git must be installed and on `$PATH`') - end + health.error('curl not found') end end diff --git a/lua/nvim-treesitter/install.lua b/lua/nvim-treesitter/install.lua index ac37c7af0..f9a52461c 100644 --- a/lua/nvim-treesitter/install.lua +++ b/lua/nvim-treesitter/install.lua @@ -8,25 +8,31 @@ local log = require('nvim-treesitter.log') local parsers = require('nvim-treesitter.parsers') local util = require('nvim-treesitter.util') ---- @type fun(path: string, new_path: string, flags?: table): string? +---@type fun(path: string, new_path: string, flags?: table): string? local uv_copyfile = a.wrap(uv.fs_copyfile, 4) ---- @type fun(path: string, mode: integer): string? +---@type fun(path: string, mode: integer): string? local uv_mkdir = a.wrap(uv.fs_mkdir, 3) ---- @type fun(path: string, new_path: string): string? +---@type fun(path: string, new_path: string): string? local uv_rename = a.wrap(uv.fs_rename, 3) ---- @type fun(path: string, new_path: string, flags?: table): string? +---@type fun(path: string, new_path: string, flags?: table): string? local uv_symlink = a.wrap(uv.fs_symlink, 4) ---- @type fun(path: string): string? +---@type fun(path: string): string? local uv_unlink = a.wrap(uv.fs_unlink, 2) -local max_jobs = 10 +local MAX_JOBS = 10 +local INSTALL_TIMEOUT = 60000 +---@async +---@param cmd string[] +---@param opts? vim.SystemOpts +---@return vim.SystemCompleted local function system(cmd, opts) - log.trace('running job: (cwd=%s) %s', opts.cwd, table.concat(cmd, ' ')) + local cwd = opts and opts.cwd or uv.cwd() + log.trace('running job: (cwd=%s) %s', cwd, table.concat(cmd, ' ')) local r = a.wrap(vim.system, 3)(cmd, opts) --[[@as vim.SystemCompleted]] a.main() if r.stdout and r.stdout ~= '' then @@ -39,7 +45,38 @@ local function system(cmd, opts) return r end -local iswin = uv.os_uname().sysname == 'Windows_NT' +---@async +---@param url string +---@param output string +---@return string? err +local function download_file(url, output) + local r = system({ + 'curl', + '--silent', + '--fail', + '--show-error', + '-L', -- follow redirects + url, + '--output', + output, + }) + if r.code > 0 then + return r.stderr + end +end + +---@async +---@param path string +---@param mode? string +---@return string? err +local function mkpath(path, mode) + local parent = fs.dirname(path) + if not parent:match('^[./]$') and not uv.fs_stat(parent) then + mkpath(parent, mode) + end + + return uv_mkdir(path, tonumber(mode or '755', 8)) +end local M = {} @@ -59,8 +96,8 @@ local function get_parser_install_info(lang) return parser_config.install_info end ---- @param ... string ---- @return string +---@param ... string +---@return string function M.get_package_path(...) return fs.joinpath(fn.fnamemodify(debug.getinfo(1, 'S').source:sub(2), ':p:h:h:h'), ...) end @@ -92,16 +129,11 @@ end --- PARSER MANAGEMENT FUNCTIONS --- ---- @param x string ---- @return boolean -local function executable(x) - return fn.executable(x) == 1 -end - ---- @param logger Logger ---- @param repo InstallInfo ---- @param compile_location string ---- @return string? err +---@async +---@param logger Logger +---@param repo InstallInfo +---@param compile_location string +---@return string? err local function do_generate(logger, repo, compile_location) logger:info( string.format( @@ -123,131 +155,82 @@ local function do_generate(logger, repo, compile_location) end end +---@async ---@param logger Logger ----@param repo InstallInfo +---@param url string ---@param project_name string ---@param cache_dir string ---@param revision string ----@param project_dir string +---@param output_dir string ---@return string? err -local function do_download_tar(logger, repo, project_name, cache_dir, revision, project_dir) - local is_github = repo.url:find('github.com', 1, true) - local url = repo.url:gsub('.git$', '') - - local dir_rev = revision - if is_github and revision:find('^v%d') then - dir_rev = revision:sub(2) - end +local function do_download(logger, url, project_name, cache_dir, revision, output_dir) + local is_gitlab = url:find('gitlab.com', 1, true) - local temp_dir = project_dir .. '-tmp' + local tmp = output_dir .. '-tmp' - util.delete(temp_dir) - - logger:info('Downloading ' .. project_name .. '...') - local target = is_github and url .. '/archive/' .. revision .. '.tar.gz' - or url .. '/-/archive/' .. revision .. '/' .. project_name .. '-' .. revision .. '.tar.gz' - - local r = system({ - 'curl', - '--silent', - '--show-error', - '-L', -- follow redirects - target, - '--output', - project_name .. '.tar.gz', - }, { - cwd = cache_dir, - }) - if r.code > 0 then - return logger:error('Error during download: %s', r.stderr) - end + util.delete(tmp) - logger:debug('Creating temporary directory: ' .. temp_dir) - --TODO(clason): use fn.mkdir(temp_dir, 'p') in case stdpath('cache') is not created - local err = uv_mkdir(temp_dir, 493) - a.main() - if err then - return logger:error('Could not create %s-tmp: %s', project_name, err) - end + url = url:gsub('.git$', '') + local target = is_gitlab + and string.format('%s/-/archive/%s/%s-%s.tar.gz', url, revision, project_name, revision) + or string.format('%s/archive/%s.tar.gz', url, revision) - logger:info('Extracting ' .. project_name .. '...') - r = system({ - 'tar', - '-xzf', - project_name .. '.tar.gz', - '-C', - project_name .. '-tmp', - }, { - cwd = cache_dir, - }) + local tarball_path = fs.joinpath(cache_dir, project_name .. '.tar.gz') - if r.code > 0 then - return logger:error('Error during tarball extraction: %s', r.stderr) + do -- Download tarball + logger:info('Downloading %s...', project_name) + local err = download_file(target, tarball_path) + if err then + return logger:error('Error during download: %s', err) + end end - err = uv_unlink(project_dir .. '.tar.gz') - if err then - return logger:error('Could not remove tarball: %s', err) + do -- Create tmp dir + logger:debug('Creating temporary directory: %s', tmp) + local err = mkpath(tmp) + a.main() + if err then + return logger:error('Could not create %s-tmp: %s', project_name, err) + end end - a.main() - - err = uv_rename(fs.joinpath(temp_dir, url:match('[^/]-$') .. '-' .. dir_rev), project_dir) - a.main() - if err then - return logger:error('Could not rename temp: %s', err) + do -- Extract tarball + logger:debug('Extracting %s into %s...', tarball_path, project_name) + -- Windows tar can't handle drive letters + local r = system( + { 'tar', '-xzf', project_name .. '.tar.gz', '-C', project_name .. '-tmp' }, + { cwd = cache_dir } + ) + if r.code > 0 then + return logger:error('Error during tarball extraction: %s', r.stderr) + end end - util.delete(temp_dir) -end - ----@param logger Logger ----@param repo InstallInfo ----@param project_name string ----@param cache_dir string ----@param revision string ----@param project_dir string ----@return string? err -local function do_download_git(logger, repo, project_name, cache_dir, revision, project_dir) - logger:info('Downloading ' .. project_name .. '...') - - local r = system({ - 'git', - 'clone', - '--filter=blob:none', - repo.url, - project_name, - }, { - cwd = cache_dir, - }) - - if r.code > 0 then - return logger:error('Error during download, please verify your internet connection: ', r.stderr) + do -- Remove tarball + logger:debug('Removing %s...', tarball_path) + local err = uv_unlink(tarball_path) + a.main() + if err then + return logger:error('Could not remove tarball: %s', err) + end end - logger:info('Checking out locked revision') - r = system({ - 'git', - 'checkout', - revision, - }, { - cwd = project_dir, - }) - - if r.code > 0 then - return logger:error('Error while checking out revision: %s', r.stderr) + do -- Move tmp dir to output dir + local dir_rev = revision:find('^v%d') and revision:sub(2) or revision + local repo_project_name = url:match('[^/]-$') + local extracted = fs.joinpath(tmp, repo_project_name .. '-' .. dir_rev) + logger:debug('Moving %s to %s/...', extracted, output_dir) + local err = uv_rename(extracted, output_dir) + a.main() + if err then + return logger:error('Could not rename temp: %s', err) + end end -end ----@param repo InstallInfo ----@return boolean -local function can_download_tar(repo) - local can_use_tar = executable('tar') and executable('curl') - local is_github = repo.url:find('github.com', 1, true) ~= nil - local is_gitlab = repo.url:find('gitlab.com', 1, true) ~= nil - return can_use_tar and (is_github or is_gitlab) and not iswin + util.delete(tmp) end +---@async ---@param logger Logger ---@param compile_location string ---@return string? err @@ -265,6 +248,7 @@ local function do_compile(logger, compile_location) end end +---@async ---@param logger Logger ---@param compile_location string ---@param target_location string @@ -272,7 +256,7 @@ end local function do_install(logger, compile_location, target_location) logger:info(string.format('Installing parser')) - if iswin then -- why can't you just be normal?! + if uv.os_uname().sysname == 'Windows_NT' then -- why can't you just be normal?! local tempfile = target_location .. tostring(uv.hrtime()) uv_rename(target_location, tempfile) -- parser may be in use: rename... uv_unlink(tempfile) -- ...and mark for garbage collection @@ -285,12 +269,13 @@ local function do_install(logger, compile_location, target_location) end end +---@async ---@param lang string ---@param cache_dir string ---@param install_dir string ---@param generate? boolean ---@return string? err -local function install_lang0(lang, cache_dir, install_dir, generate) +local function try_install_lang(lang, cache_dir, install_dir, generate) local logger = log.new('install/' .. lang) local repo = get_parser_install_info(lang) @@ -308,8 +293,7 @@ local function install_lang0(lang, cache_dir, install_dir, generate) revision = revision or repo.branch or 'main' - local do_download = can_download_tar(repo) and do_download_tar or do_download_git - local err = do_download(logger, repo, project_name, cache_dir, revision, project_dir) + local err = do_download(logger, repo.url, project_name, cache_dir, revision, project_dir) if err then return err end @@ -364,16 +348,15 @@ local function install_lang0(lang, cache_dir, install_dir, generate) logger:info('Language installed') end ---- @alias InstallStatus +---@alias InstallStatus --- | 'installing' --- | 'installed' --- | 'failed' --- | 'timeout' -local install_status = {} --- @type table<string,InstallStatus?> - -local INSTALL_TIMEOUT = 60000 +local install_status = {} ---@type table<string,InstallStatus?> +---@async ---@param lang string ---@param cache_dir string ---@param install_dir string @@ -399,7 +382,7 @@ local function install_lang(lang, cache_dir, install_dir, force, generate) end else install_status[lang] = 'installing' - local err = install_lang0(lang, cache_dir, install_dir, generate) + local err = try_install_lang(lang, cache_dir, install_dir, generate) install_status[lang] = err and 'failed' or 'installed' end @@ -410,6 +393,7 @@ end --- Reload the parser table and user modifications in case of update local function reload_parsers() + ---@diagnostic disable-next-line:no-unknown package.loaded['nvim-treesitter.parsers'] = nil parsers = require('nvim-treesitter.parsers') vim.api.nvim_exec_autocmds('User', { pattern = 'TSUpdate' }) @@ -420,16 +404,16 @@ end ---@field generate? boolean --- Install a parser ---- @param languages string[] ---- @param options? InstallOptions ---- @param _callback? fun() +---@param languages string[] +---@param options? InstallOptions +---@param _callback? fun() local function install(languages, options, _callback) options = options or {} - local cache_dir = vim.fs.normalize(fn.stdpath('cache')) + local cache_dir = fs.normalize(fn.stdpath('cache')) local install_dir = config.get_install_dir('parser') - local tasks = {} --- @type fun()[] + local tasks = {} ---@type fun()[] local done = 0 for _, lang in ipairs(languages) do tasks[#tasks + 1] = a.sync(function() @@ -441,7 +425,7 @@ local function install(languages, options, _callback) end) end - a.join(max_jobs, nil, tasks) + a.join(MAX_JOBS, nil, tasks) if #tasks > 1 then a.main() log.info('Installed %d/%d languages', done, #tasks) @@ -474,7 +458,7 @@ M.update = a.sync(function(languages, _options, _callback) languages = 'all' end languages = config.norm_languages(languages, { ignored = true, missing = true }) - languages = vim.tbl_filter(needs_update, languages) --- @type string[] + languages = vim.tbl_filter(needs_update, languages) ---@type string[] if #languages > 0 then install(languages, { force = true }) @@ -483,16 +467,17 @@ M.update = a.sync(function(languages, _options, _callback) end end, 2) ---- @param logger Logger ---- @param lang string ---- @param parser string ---- @param queries string ---- @return string? err +---@async +---@param logger Logger +---@param lang string +---@param parser string +---@param queries string +---@return string? err local function uninstall_lang(logger, lang, parser, queries) logger:debug('Uninstalling ' .. lang) install_status[lang] = nil - if vim.fn.filereadable(parser) == 1 then + if fn.filereadable(parser) == 1 then logger:debug('Unlinking ' .. parser) local perr = uv_unlink(parser) a.main() @@ -502,7 +487,7 @@ local function uninstall_lang(logger, lang, parser, queries) end end - if vim.fn.isdirectory(queries) == 1 then + if fn.isdirectory(queries) == 1 then logger:debug('Unlinking ' .. queries) local qerr = uv_unlink(queries) a.main() @@ -515,9 +500,9 @@ local function uninstall_lang(logger, lang, parser, queries) logger:info('Language uninstalled') end ---- @param languages string[]|string ---- @param _options? UpdateOptions ---- @param _callback fun() +---@param languages string[]|string +---@param _options? UpdateOptions +---@param _callback fun() M.uninstall = a.sync(function(languages, _options, _callback) languages = config.norm_languages(languages or 'all', { missing = true, dependencies = true }) @@ -525,7 +510,7 @@ M.uninstall = a.sync(function(languages, _options, _callback) local query_dir = config.get_install_dir('queries') local installed = config.installed_parsers() - local tasks = {} --- @type fun()[] + local tasks = {} ---@type fun()[] local done = 0 for _, lang in ipairs(languages) do local logger = log.new('uninstall/' .. lang) @@ -543,7 +528,7 @@ M.uninstall = a.sync(function(languages, _options, _callback) end end - a.join(max_jobs, nil, tasks) + a.join(MAX_JOBS, nil, tasks) if #tasks > 1 then a.main() log.info('Uninstalled %d/%d languages', done, #tasks) diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index b31224d26..5d01f968b 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -19,7 +19,7 @@ return { angular = { install_info = { generate_from_json = true, - revision = '10f21f3f1b10584e62ecc113ab3cda1196d0ceb8', + revision = '31182d43b062a350d4bd2449f2fc0d5654972be9', url = 'https://github.com/dlvandenberg/tree-sitter-angular', }, maintainers = { '@dlvandenberg' }, @@ -29,7 +29,7 @@ return { apex = { install_info = { location = 'apex', - revision = 'c99ad4b16d112fea91745e3f1b769754239fdaba', + revision = 'c47a639e1a0e5407ee39a8761ec1accebe6dacfc', url = 'https://github.com/aheber/tree-sitter-sfapex', }, maintainers = { '@aheber', '@xixiafinland' }, @@ -47,7 +47,7 @@ return { }, asm = { install_info = { - revision = 'b0306e9bb2ebe01c6562f1aef265cc42ccc53070', + revision = '2a35fccebcc08aa8b6c7bb3cff1f07cf0f8cff83', url = 'https://github.com/RubixDev/tree-sitter-asm', }, maintainers = { '@RubixDev' }, @@ -96,7 +96,7 @@ return { }, beancount = { install_info = { - revision = 'c25f8034c977681653a8acd541c8b4877a58f474', + revision = '01c0da29e0fc7130420a09d939ecc524e09b6ba6', url = 'https://github.com/polarmutex/tree-sitter-beancount', }, maintainers = { '@polarmutex' }, @@ -144,7 +144,7 @@ return { }, bp = { install_info = { - revision = '2326d709fb9cf73cf124fdbc803c267f851721a4', + revision = '4e60cf3c2e613625c06f6f85540b3631e2d06cd3', url = 'https://github.com/ambroisie/tree-sitter-bp', }, maintainers = { '@ambroisie' }, @@ -161,7 +161,7 @@ return { }, c = { install_info = { - revision = 'deca017a554045b4c203e7ddff39ae64ff05e071', + revision = 'be23d2c9d8e5b550e713ef0f86126a248462ca6e', url = 'https://github.com/tree-sitter/tree-sitter-c', }, maintainers = { '@amaanq' }, @@ -169,7 +169,7 @@ return { }, c_sharp = { install_info = { - revision = '82fa8f05f41a33e9bc830f85d74a9548f0291738', + revision = '31a64b28292aac6adf44071e449fa03fb80eaf4e', url = 'https://github.com/tree-sitter/tree-sitter-c-sharp', }, maintainers = { '@amaanq' }, @@ -225,7 +225,7 @@ return { }, cmake = { install_info = { - revision = '4864abb95a1f6e54d6b362677beef9fb674b41e9', + revision = '69d7a8b0f7493b0dbb07d54e8fea96c5421e8a71', url = 'https://github.com/uyha/tree-sitter-cmake', }, maintainers = { '@uyha' }, @@ -275,7 +275,7 @@ return { cpp = { install_info = { generate_from_json = true, - revision = '9d412ba7e597fe158f209da33e60f31b1f0df967', + revision = '0b4aa47f07d958a49260aadc87e8474b03897c23', url = 'https://github.com/tree-sitter/tree-sitter-cpp', }, maintainers = { '@theHamsta' }, @@ -303,7 +303,7 @@ return { cuda = { install_info = { generate_from_json = true, - revision = '1f188eff83b562ffae36d13e1b804ec6f3b9f1d9', + revision = '7c97acb8398734d790c86210c53c320df61ff66b', url = 'https://github.com/tree-sitter-grammars/tree-sitter-cuda', }, maintainers = { '@theHamsta' }, @@ -328,7 +328,7 @@ return { }, d = { install_info = { - revision = '750dde90ed9cdbd82493bc28478d8ab1976b0e9f', + revision = 'ac584585a15c4cacd6cda8e6bfe7cb1ca7b3898e', url = 'https://github.com/gdamore/tree-sitter-d', }, maintainers = { '@amaanq' }, @@ -352,7 +352,7 @@ return { }, devicetree = { install_info = { - revision = 'fb07e6044ffd36932c57a5be01ba5d6b8a9337bb', + revision = '296b3c294a8bcfca6673296d99f9cd37049b8026', url = 'https://github.com/joelspadin/tree-sitter-devicetree', }, maintainers = { '@jedrzejboczar' }, @@ -368,7 +368,7 @@ return { }, diff = { install_info = { - revision = '629676fc3919606964231b2c7b9677d6998a2cb4', + revision = '19dd5aa52fe339a1d974768a09ee2537303e8ca5', url = 'https://github.com/the-mikedavis/tree-sitter-diff', }, maintainers = { '@gbprod' }, @@ -384,7 +384,7 @@ return { }, djot = { install_info = { - revision = 'ea851b9cf1a71e475f4e2ac4dc03609a1b9ca56d', + revision = '886601b67d1f4690173a4925c214343c30704d32', url = 'https://github.com/treeman/tree-sitter-djot', }, maintainers = { '@NoahTheDuke' }, @@ -417,7 +417,7 @@ return { dtd = { install_info = { location = 'dtd', - revision = '648183d86f6f8ffb240ea11b4c6873f6f45d8b67', + revision = '809266ed1694d64dedc168a18893cc254e3edf7e', url = 'https://github.com/tree-sitter-grammars/tree-sitter-xml', }, maintainers = { '@ObserverOfTime' }, @@ -425,7 +425,7 @@ return { }, earthfile = { install_info = { - revision = 'b5bdcb5813ce0e582fbd8e03eb42c80d3cc8984e', + revision = 'b0a9bc5737340a9b80b489fe9ae93d7b2fe78cd7', url = 'https://github.com/glehmann/tree-sitter-earthfile', }, maintainers = { '@glehmann' }, @@ -447,8 +447,8 @@ return { }, editorconfig = { install_info = { + revision = 'fd0d64d2fc91eab903bed4c11ce280b62e46f16e', url = 'https://github.com/ValdezFOmar/tree-sitter-editorconfig', - files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@ValdezFOmar' }, tier = 3, @@ -518,7 +518,7 @@ return { }, erlang = { install_info = { - revision = '98ea1f9c957b2ad520415eecb5a5b406e931101e', + revision = '8f41b588fe38b981156651ef56b192ed3d158efd', url = 'https://github.com/WhatsApp/tree-sitter-erlang', }, maintainers = { '@filmor' }, @@ -526,7 +526,7 @@ return { }, facility = { install_info = { - revision = 'a52579670e2b14ec03d410c3c980fafaf6d659c4', + revision = '2d037f2f2bf668737f72e6be6eda4b7918b68d86', url = 'https://github.com/FacilityApi/tree-sitter-facility', }, maintainers = { '@bryankenote' }, @@ -591,7 +591,7 @@ return { }, fortran = { install_info = { - revision = 'f73d473e3530862dee7cbb38520f28824e7804f6', + revision = '6b633433fb3f132f21250cf8e8be76d5a6389b7e', url = 'https://github.com/stadelmanma/tree-sitter-fortran', }, maintainers = { '@amaanq' }, @@ -676,7 +676,7 @@ return { }, git_rebase = { install_info = { - revision = 'd8a4207ebbc47bd78bacdf48f883db58283f9fd8', + revision = 'bff4b66b44b020d918d67e2828eada1974a966aa', url = 'https://github.com/the-mikedavis/tree-sitter-git-rebase', }, maintainers = { '@gbprod' }, @@ -692,7 +692,7 @@ return { }, gitcommit = { install_info = { - revision = 'edd817e0532f179b7f7f371dc180629070945f0c', + revision = 'aa5c279287f0895a7ebc76a06e55ac3e4b2df7c7', url = 'https://github.com/gbprod/tree-sitter-gitcommit', }, maintainers = { '@gbprod' }, @@ -708,7 +708,7 @@ return { }, gleam = { install_info = { - revision = '02a17bf9d0553406268cdbf466d57808ae712bf3', + revision = '426e67087fd62be5f4533581b5916b2cf010fb5b', url = 'https://github.com/gleam-lang/tree-sitter-gleam', }, maintainers = { '@amaanq' }, @@ -746,7 +746,7 @@ return { glsl = { install_info = { generate_from_json = true, - revision = '7f91bf34cadc06a96efc475df501ffca4dda9410', + revision = 'ddc3137a2d775aca93084ff997fa13cc1691058a', url = 'https://github.com/tree-sitter-grammars/tree-sitter-glsl', }, maintainers = { '@theHamsta' }, @@ -780,8 +780,8 @@ return { }, goctl = { install_info = { + revision = 'f107937259c7ec4bb05f7e3d2c24b89ac36d4cc3', url = 'https://github.com/chaozwn/tree-sitter-goctl', - files = { 'src/parser.c' }, }, maintainers = { '@chaozwn' }, tier = 3, @@ -797,7 +797,7 @@ return { }, gomod = { install_info = { - revision = 'bbe2fe3be4b87e06a613e685250f473d2267f430', + revision = '1f55029bacd0a6a11f6eb894c4312d429dcf735c', url = 'https://github.com/camdencheek/tree-sitter-go-mod', }, maintainers = { '@camdencheek' }, @@ -853,7 +853,7 @@ return { }, groovy = { install_info = { - revision = '6c5c8813233fe326e24c5ef032858d13f8006a8d', + revision = '105ee343682b7eee86b38ec6858a269e16474a72', url = 'https://github.com/murtaza64/tree-sitter-groovy', }, maintainers = { '@murtaza64' }, @@ -876,7 +876,7 @@ return { }, hare = { install_info = { - revision = '070524937539eb8bb4f10debd9c83b66c434f3a2', + revision = '4af5d82cf9ec39f67cb1db5b7a9269d337406592', url = 'https://github.com/tree-sitter-grammars/tree-sitter-hare', }, maintainers = { '@amaanq' }, @@ -900,7 +900,7 @@ return { }, hcl = { install_info = { - revision = 'e2d416afeba80e8cf711ed6792e089ed5c8e184e', + revision = '9e3ec9848f28d26845ba300fd73c740459b83e9b', url = 'https://github.com/tree-sitter-grammars/tree-sitter-hcl', }, maintainers = { '@MichaHoffmann' }, @@ -908,7 +908,7 @@ return { }, heex = { install_info = { - revision = 'b5ad6e34eea18a15bbd1466ca707a17f9bff7b93', + revision = '6dd0303acf7138dd2b9b432a229e16539581c701', url = 'https://github.com/connorlay/tree-sitter-heex', }, maintainers = { '@connorlay' }, @@ -936,7 +936,7 @@ return { hlsl = { install_info = { generate_from_json = true, - revision = '5e1225a30712ca0a9040509806c7ba274a1bbcde', + revision = '5d788a46727c8199a7c63a3c849092e0364375b6', url = 'https://github.com/tree-sitter-grammars/tree-sitter-hlsl', }, maintainers = { '@theHamsta' }, @@ -945,7 +945,7 @@ return { }, hlsplaylist = { install_info = { - revision = '64f19029339e75d6762feae39e7878595860c980', + revision = '3bfda9271e3adb08d35f47a2102fe957009e1c55', url = 'https://github.com/Freed-Wu/tree-sitter-hlsplaylist', }, maintainers = { '@Freed-Wu' }, @@ -992,7 +992,7 @@ return { }, http = { install_info = { - revision = '8d22f33faa5aa95c6526606fb656ada342e59e40', + revision = '5ae6c7cfa62a7d7325c26171a1de4f6b866702b5', url = 'https://github.com/rest-nvim/tree-sitter-http', }, maintainers = { '@amaanq', '@NTBBloodbath' }, @@ -1000,7 +1000,7 @@ return { }, hurl = { install_info = { - revision = 'ad705af8c44c737bdb965fc081329c50716d2d03', + revision = 'fba6ed8db3a009b9e7d656511931b181a3ee5b08', url = 'https://github.com/pfeiferj/tree-sitter-hurl', }, maintainers = { '@pfeiferj' }, @@ -1008,7 +1008,7 @@ return { }, hyprlang = { install_info = { - revision = 'c9012d6dcaaa939f17c21e1fdb17b013d139e6b9', + revision = '6858695eba0e63b9e0fceef081d291eb352abce8', url = 'https://github.com/tree-sitter-grammars/tree-sitter-hyprlang', }, maintainers = { '@luckasRanarison' }, @@ -1016,7 +1016,7 @@ return { }, idl = { install_info = { - revision = '9f56001f8ed29b0ea9fa4f02813f3e83ab0a2aaa', + revision = '7412851348d9d8ba93dc6abd5e60aba9b50a4811', url = 'https://github.com/cathaysia/tree-sitter-idl', }, maintainers = { '@cathaysia' }, @@ -1066,7 +1066,7 @@ return { }, janet_simple = { install_info = { - revision = '2a05cab838dfec52daa76f10920917d2e69a85bc', + revision = 'ea842cb57a90865c8f50bcb4499de1a94860f3a4', url = 'https://github.com/sogaiu/tree-sitter-janet-simple', }, maintainers = { '@sogaiu' }, @@ -1090,7 +1090,7 @@ return { }, javascript = { install_info = { - revision = '391a8fcc48a11f63bf18ec9885f6f069e760949a', + revision = '12e45374422f6051648717be62f0ffc40a279ee2', url = 'https://github.com/tree-sitter/tree-sitter-javascript', }, maintainers = { '@steelsojka' }, @@ -1175,7 +1175,7 @@ return { }, julia = { install_info = { - revision = 'f1baa5f8e271109d01cc8ff7473c11df2d8a9aee', + revision = 'a528de39923448e6b809a6b9f686f3472728f202', url = 'https://github.com/tree-sitter/tree-sitter-julia', }, maintainers = { '@fredrikekre' }, @@ -1183,7 +1183,7 @@ return { }, just = { install_info = { - revision = 'fd814fc6c579f68c2a642f5e0268cf69daae92d7', + revision = '6648ac1c0cdadaec8ee8bcf9a4ca6ace5102cf21', url = 'https://github.com/IndianBoy42/tree-sitter-just', }, maintainers = { '@Hubro' }, @@ -1215,7 +1215,7 @@ return { }, kotlin = { install_info = { - revision = 'c9cb8504b81684375e7beb8907517dbd6947a1be', + revision = '8d9d372b09fa4c3735657c5fc2ad03e53a5f05f5', url = 'https://github.com/fwcd/tree-sitter-kotlin', }, maintainers = { '@SalBakraa' }, @@ -1248,7 +1248,7 @@ return { latex = { install_info = { generate = true, - revision = 'cd82eb40d31bdfe65f846f4e06292d6c804b5e0e', + revision = 'efe5afdbb59b70214e6d70db5197dc945d5b213e', url = 'https://github.com/latex-lsp/tree-sitter-latex', }, maintainers = { '@theHamsta', '@clason' }, @@ -1280,7 +1280,7 @@ return { }, liquid = { install_info = { - revision = '0419ac4868585320eee8615c90b864a1b04ef433', + revision = '7862a3424832c3a9d45eb21143b375837bd6573b', url = 'https://github.com/hankthetank27/tree-sitter-liquid', }, maintainers = { '@hankthetank27' }, @@ -1330,7 +1330,7 @@ return { luau = { install_info = { generate_from_json = true, - revision = '5aa9b88a8e3327276ec6e72de997f04ac80b1ae4', + revision = 'fbadc96272f718dba267628ba7b0e694c368cef3', url = 'https://github.com/tree-sitter-grammars/tree-sitter-luau', }, maintainers = { '@amaanq' }, @@ -1339,7 +1339,7 @@ return { }, m68k = { install_info = { - revision = 'd097b123f19c6eaba2bf181c05420d88b9fc489d', + revision = 'e128454c2210c0e0c10b68fe45ddb8fee80182a3', url = 'https://github.com/grahambates/tree-sitter-m68k', }, maintainers = { '@grahambates' }, @@ -1376,7 +1376,7 @@ return { }, matlab = { install_info = { - revision = '79d8b25f57b48f83ae1333aff6723b83c9532e37', + revision = '0d5a05e543af2de60cdb5e71f0f5888c95ab936f', url = 'https://github.com/acristoffers/tree-sitter-matlab', }, maintainers = { '@acristoffers' }, @@ -1408,7 +1408,7 @@ return { mlir = { install_info = { generate = true, - revision = '00c32d8562dc957b187da110a3443307962b8da8', + revision = 'affbd6f3b08155826a22cfa8373147acbf60f1f1', url = 'https://github.com/artagnon/tree-sitter-mlir', }, maintainers = { '@artagnon' }, @@ -1416,7 +1416,7 @@ return { }, muttrc = { install_info = { - revision = '90ef60852c410bd964cd3b954366e4c403c17314', + revision = '173b0ab53a9c07962c9777189c4c70e90f1c1837', url = 'https://github.com/neomutt/tree-sitter-muttrc', }, maintainers = { '@Freed-Wu' }, @@ -1432,22 +1432,22 @@ return { }, nginx = { install_info = { + revision = '281d184b8240b2b22670b8907b57b6d6842db6f3', url = 'https://github.com/opa-oz/tree-sitter-nginx', - files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@opa-oz' }, tier = 3, }, nickel = { install_info = { - revision = '43433d8477b24cd13acaac20a66deda49b7e2547', + revision = '3039ad9e9af3c1ffe049a04ee83a2b489915b0b9', url = 'https://github.com/nickel-lang/tree-sitter-nickel', }, tier = 4, }, nim = { install_info = { - revision = '961c2798cec9250c44f7d7225ddb33d47d25856a', + revision = '897e5d346f0b59ed62b517cfb0f1a845ad8f0ab7', url = 'https://github.com/alaviss/tree-sitter-nim', }, maintainers = { '@aMOPel' }, @@ -1472,7 +1472,7 @@ return { }, nix = { install_info = { - revision = 'b3cda619248e7dd0f216088bd152f59ce0bbe488', + revision = '486bb0337ee94575f53367b53bffeaea99063f2c', url = 'https://github.com/cstrahan/tree-sitter-nix', }, maintainers = { '@leo60228' }, @@ -1516,7 +1516,7 @@ return { ocaml = { install_info = { location = 'grammars/ocaml', - revision = '0b12614ded3ec7ed7ab7933a9ba4f695ba4c342e', + revision = '036226e5edb410aec004cc7ac0f4b2014dd04a0e', url = 'https://github.com/tree-sitter/tree-sitter-ocaml', }, maintainers = { '@undu' }, @@ -1525,7 +1525,7 @@ return { ocaml_interface = { install_info = { location = 'grammars/interface', - revision = '0b12614ded3ec7ed7ab7933a9ba4f695ba4c342e', + revision = '036226e5edb410aec004cc7ac0f4b2014dd04a0e', url = 'https://github.com/tree-sitter/tree-sitter-ocaml', }, maintainers = { '@undu' }, @@ -1551,7 +1551,7 @@ return { }, pascal = { install_info = { - revision = 'a9ee969dec5b2e3b2ccccc5954fec04100c7619e', + revision = 'd0ebabefaea9ac3f6fc3004cf08cd121b66da9e4', url = 'https://github.com/Isopod/tree-sitter-pascal', }, maintainers = { '@Isopod' }, @@ -1577,7 +1577,7 @@ return { install_info = { branch = 'release', generate_from_json = true, - revision = '309cb8d33bcfd0a81050b21be08f9eb3f2fe2138', + revision = '3a21d9cb2a20a062c17f8f53d5983fd473c4673c', url = 'https://github.com/tree-sitter-perl/tree-sitter-perl', }, maintainers = { '@RabbiVeesh', '@LeoNerd' }, @@ -1586,7 +1586,7 @@ return { php = { install_info = { location = 'php', - revision = '4f124bc6075e1c3333e80190c1c170933ed72c95', + revision = 'c07d69739ba71b5a449bdbb7735991f8aabf8546', url = 'https://github.com/tree-sitter/tree-sitter-php', }, maintainers = { '@tk-shirasaka', '@calebdw' }, @@ -1597,7 +1597,7 @@ return { php_only = { install_info = { location = 'php_only', - revision = '4f124bc6075e1c3333e80190c1c170933ed72c95', + revision = 'c07d69739ba71b5a449bdbb7735991f8aabf8546', url = 'https://github.com/tree-sitter/tree-sitter-php', }, maintainers = { '@tk-shirasaka', '@calebdw' }, @@ -1657,11 +1657,11 @@ return { tier = 2, }, powershell = { + filetype = 'ps1', install_info = { + revision = 'fc15514b2f1dbba9c58528d15a3708f89eda6a01', url = 'https://github.com/airbus-cert/tree-sitter-powershell', - files = { 'src/parser.c', 'src/scanner.c' }, }, - filetype = 'ps1', maintainers = { '@L2jLiga' }, tier = 3, }, @@ -1681,23 +1681,21 @@ return { maintainers = { '@elianiva' }, tier = 3, }, - problog = { install_info = { - url = 'https://github.com/foxyseta/tree-sitter-prolog', - files = { 'src/parser.c' }, location = 'grammars/problog', + revision = '93c69d2f84d8a167c0a3f4a8d51ccefe365a4dc8', + url = 'https://github.com/foxyseta/tree-sitter-prolog', }, maintainers = { '@foxyseta' }, requires = { 'prolog' }, tier = 3, }, - prolog = { install_info = { - url = 'https://github.com/foxyseta/tree-sitter-prolog', - files = { 'src/parser.c' }, location = 'grammars/prolog', + revision = '93c69d2f84d8a167c0a3f4a8d51ccefe365a4dc8', + url = 'https://github.com/foxyseta/tree-sitter-prolog', }, maintainers = { '@foxyseta' }, tier = 3, @@ -1780,7 +1778,7 @@ return { }, python = { install_info = { - revision = '71778c2a472ed00a64abf4219544edbf8e4b86d7', + revision = '0dee05ef958ba2eae88d1e65f24b33cad70d4367', url = 'https://github.com/tree-sitter/tree-sitter-python', }, maintainers = { '@stsewd', '@theHamsta' }, @@ -1823,7 +1821,7 @@ return { }, r = { install_info = { - revision = '391400572538ff9854341a175ed8ab4b1e45f44b', + revision = 'b1e211f52ad8f8e1e182bbbcc16dcd5e3688eb7d', url = 'https://github.com/r-lib/tree-sitter-r', }, maintainers = { '@ribru17' }, @@ -1838,7 +1836,7 @@ return { }, ralph = { install_info = { - revision = '48b9d9d6e2b55ce8f9eb09ceb0d952e4b1cc87a0', + revision = 'f6d81bf7a4599c77388035439cf5801cd461ff77', url = 'https://github.com/alephium/tree-sitter-ralph', }, maintainers = { '@tdroxler' }, @@ -1864,7 +1862,7 @@ return { }, rbs = { install_info = { - revision = '88d8ed487b5449ddda2fc0c4fe23b71cba29ca24', + revision = '8d8e65ac3f77fbc9e15b1cdb9f980a3e0ac3ab99', url = 'https://github.com/joker1007/tree-sitter-rbs', }, maintainers = { '@joker1007' }, @@ -1913,8 +1911,8 @@ return { }, rescript = { install_info = { + revision = '4606cd81c4c31d1d02390fee530858323410a74c', url = 'https://github.com/rescript-lang/tree-sitter-rescript', - files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@ribru17' }, tier = 2, @@ -1937,15 +1935,15 @@ return { }, robots = { install_info = { + revision = '8e3a4205b76236bb6dbebdbee5afc262ce38bb62', url = 'https://github.com/opa-oz/tree-sitter-robots-txt', - files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@opa-oz' }, tier = 3, }, roc = { install_info = { - revision = 'df46a85abda9f948d38f5d4e3684cec49c42fef2', + revision = 'ef46edd0c03ea30a22f7e92bc68628fb7231dc8a', url = 'https://github.com/faldor20/tree-sitter-roc', }, maintainers = { '@nat-418' }, @@ -1969,7 +1967,7 @@ return { }, ruby = { install_info = { - revision = 'dc2d7d6b50f9975bc3c35bbec0ba11b2617b736b', + revision = '0ffe457fb6aabf064f173fd30ea356845cef2513', url = 'https://github.com/tree-sitter/tree-sitter-ruby', }, maintainers = { '@TravonteD' }, @@ -1993,7 +1991,7 @@ return { }, scala = { install_info = { - revision = 'b76db435a7f876cf1ede837d66054c534783c72f', + revision = 'be7184df70dd3b5790becfb2c93ba796b2797781', url = 'https://github.com/tree-sitter/tree-sitter-scala', }, maintainers = { '@stevanmilic' }, @@ -2002,7 +2000,7 @@ return { scfg = { install_info = { generate = true, - revision = '6deae0cbb458c849a4d1e2985093e9c9c32d7fd0', + revision = 'a5512800ea0220da4abbae61b8aea8423d1549aa', url = 'https://github.com/rockorager/tree-sitter-scfg', }, maintainers = { '@WhyNotHugo' }, @@ -2026,9 +2024,9 @@ return { }, sflog = { install_info = { - url = 'https://github.com/aheber/tree-sitter-sfapex', - files = { 'src/parser.c' }, location = 'sflog', + revision = 'c47a639e1a0e5407ee39a8761ec1accebe6dacfc', + url = 'https://github.com/aheber/tree-sitter-sfapex', }, maintainers = { '@aheber', '@xixiaofinland' }, readme_note = 'Salesforce debug log', @@ -2037,7 +2035,7 @@ return { slang = { install_info = { generate_from_json = true, - revision = '865d79e236c7f0e04276c969453d021d1da4b15f', + revision = 'd84b43d75d65bbc4ba57166ce17555f32c0b8983', url = 'https://github.com/tree-sitter-grammars/tree-sitter-slang', }, maintainers = { '@theHamsta' }, @@ -2054,7 +2052,7 @@ return { }, slint = { install_info = { - revision = 'd82ab8c19ea1b60ff570256eaef7d137cc5ecb63', + revision = '4a0558cc0fcd7a6110815b9bbd7cc12d7ab31e74', url = 'https://github.com/slint-ui/tree-sitter-slint', }, maintainers = { '@hunger' }, @@ -2079,7 +2077,7 @@ return { snakemake = { install_info = { generate_from_json = true, - revision = '5a7b14074bca95b25935e865ca8f1efad32317e4', + revision = 'e909815acdbe37e69440261ebb1091ed52e1dec6', url = 'https://github.com/osthomas/tree-sitter-snakemake', }, maintainers = { '@osthomas' }, @@ -2096,7 +2094,7 @@ return { soql = { install_info = { location = 'soql', - revision = 'c99ad4b16d112fea91745e3f1b769754239fdaba', + revision = 'c47a639e1a0e5407ee39a8761ec1accebe6dacfc', url = 'https://github.com/aheber/tree-sitter-sfapex', }, maintainers = { '@aheber', '@xixiafinland' }, @@ -2105,7 +2103,7 @@ return { sosl = { install_info = { location = 'sosl', - revision = 'c99ad4b16d112fea91745e3f1b769754239fdaba', + revision = 'c47a639e1a0e5407ee39a8761ec1accebe6dacfc', url = 'https://github.com/aheber/tree-sitter-sfapex', }, maintainers = { '@aheber', '@xixiafinland' }, @@ -2113,7 +2111,7 @@ return { }, sourcepawn = { install_info = { - revision = '645d093763bcaaf7535edbdf6575a5c978b16491', + revision = '6b9bf9cbab91443380d2ca8a2f6c491cc7fac5bf', url = 'https://github.com/nilshelmig/tree-sitter-sourcepawn', }, maintainers = { '@Sarrus1' }, @@ -2122,7 +2120,7 @@ return { sparql = { install_info = { generate_from_json = true, - revision = '05f949d3c1c15e3261473a244d3ce87777374dec', + revision = 'd853661ca680d8ff7f8d800182d5782b61d0dd58', url = 'https://github.com/GordianDziwis/tree-sitter-sparql', }, maintainers = { '@GordianDziwis' }, @@ -2132,7 +2130,7 @@ return { install_info = { branch = 'gh-pages', generate_from_json = true, - revision = '89fd00d0aff3bc9985ac37caf362ec4fd9b2ba1d', + revision = 'c67ecbd37d8d12f22e4cc7138afd14bc20253e10', url = 'https://github.com/derekstride/tree-sitter-sql', }, maintainers = { '@derekstride' }, @@ -2140,7 +2138,7 @@ return { }, squirrel = { install_info = { - revision = '0a50d31098e83c668d34d1160a0f6c7d23b571cc', + revision = '072c969749e66f000dba35a33c387650e203e96e', url = 'https://github.com/tree-sitter-grammars/tree-sitter-squirrel', }, maintainers = { '@amaanq' }, @@ -2208,7 +2206,7 @@ return { svelte = { install_info = { generate_from_json = true, - revision = '7218cf622b057ae9c530e1f0a7a3ce49806ca55e', + revision = '7ab8221e3f378a3b04b4b488f07c1f408c5bd0d8', url = 'https://github.com/tree-sitter-grammars/tree-sitter-svelte', }, maintainers = { '@amaanq' }, @@ -2226,7 +2224,7 @@ return { swift = { install_info = { generate = true, - revision = '13ffaec4068facfff608e3afbdb7a581c185f6a6', + revision = '769bb834feb2947f2c706d82830b0a05958727de', url = 'https://github.com/alex-pinkus/tree-sitter-swift', }, maintainers = { '@alex-pinkus' }, @@ -2242,7 +2240,7 @@ return { }, systemtap = { install_info = { - revision = '1af543a96d060b1f808982037bfc54cc02218edd', + revision = 'f2b378a9af0b7e1192cff67a5fb45508c927205d', url = 'https://github.com/ok-ryoko/tree-sitter-systemtap', }, maintainers = { '@ok-ryoko' }, @@ -2266,7 +2264,7 @@ return { }, tact = { install_info = { - revision = '034df2162ed7b654efd999942e266be713c7cde0', + revision = '91cc49a83f4f0b3a756bf7d0e65403a9cf757003', url = 'https://github.com/tact-lang/tree-sitter-tact', }, maintainers = { '@novusnota' }, @@ -2300,7 +2298,7 @@ return { templ = { install_info = { generate_from_json = true, - revision = 'cf84ea53e2e2531f23009d676ac206090c1e2392', + revision = 'de0d0ee129cf643872e8e0d5c4a6589b5a3aae23', url = 'https://github.com/vrischmann/tree-sitter-templ', }, maintainers = { '@vrischmann' }, @@ -2309,7 +2307,7 @@ return { terraform = { install_info = { location = 'dialects/terraform', - revision = 'e936d3fef8bac884661472dce71ad82284761eb1', + revision = '9e3ec9848f28d26845ba300fd73c740459b83e9b', url = 'https://github.com/MichaHoffmann/tree-sitter-hcl', }, maintainers = { '@MichaHoffmann' }, @@ -2342,7 +2340,7 @@ return { }, tlaplus = { install_info = { - revision = '200f9dab6b23f3b9bb8f67fc811221517f56c373', + revision = 'bba02e79f85e335f310fc95e21c677e49f2c4439', url = 'https://github.com/tlaplus-community/tree-sitter-tlaplus', }, maintainers = { '@ahelwer', '@susliko' }, @@ -2350,7 +2348,7 @@ return { }, tmux = { install_info = { - revision = '9138ea508410e0f34da2666609f600f65e944f22', + revision = '0252ecd080016e45e6305ef1a943388f5ae2f4b4', url = 'https://github.com/Freed-Wu/tree-sitter-tmux', }, maintainers = { '@Freed-Wu' }, @@ -2386,7 +2384,7 @@ return { install_info = { generate_from_json = true, location = 'tsx', - revision = '4ad3010c91d700026d036b5230e2d99ba94ae8a4', + revision = '198d03553f43a45b92ac5d0ee167db3fec6a6fd6', url = 'https://github.com/tree-sitter/tree-sitter-typescript', }, maintainers = { '@steelsojka' }, @@ -2395,7 +2393,7 @@ return { }, turtle = { install_info = { - revision = '085437f5cb117703b7f520dd92161140a684f092', + revision = '7f789ea7ef765080f71a298fc96b7c957fa24422', url = 'https://github.com/GordianDziwis/tree-sitter-turtle', }, maintainers = { '@GordianDziwis' }, @@ -2413,7 +2411,7 @@ return { install_info = { generate_from_json = true, location = 'typescript', - revision = '4ad3010c91d700026d036b5230e2d99ba94ae8a4', + revision = '198d03553f43a45b92ac5d0ee167db3fec6a6fd6', url = 'https://github.com/tree-sitter/tree-sitter-typescript', }, maintainers = { '@steelsojka' }, @@ -2422,7 +2420,7 @@ return { }, typespec = { install_info = { - revision = '28821d0d6da5f0a6b5eb02b9bad953fecafd7248', + revision = '0ee05546d73d8eb64635ed8125de6f35c77759fe', url = 'https://github.com/happenslol/tree-sitter-typespec', }, maintainers = { '@happenslol' }, @@ -2438,7 +2436,7 @@ return { }, typst = { install_info = { - revision = '3924cb9ed9e0e62ce7df9c4fe0faa4c234795999', + revision = 'abe60cbed7986ee475d93f816c1be287f220c5d8', url = 'https://github.com/uben0/tree-sitter-typst', }, maintainers = { '@uben0', '@RaafatTurki' }, @@ -2488,7 +2486,7 @@ return { v = { install_info = { location = 'tree_sitter_v', - revision = 'e91f8a42de7842f24f4ce600754f2b6651985fd4', + revision = '7f80a0441ff2ca6aa8ced8e1ee87cead9dd26515', url = 'https://github.com/vlang/v-analyzer', }, maintainers = { '@kkharji', '@amaanq' }, @@ -2520,8 +2518,8 @@ return { }, vhdl = { install_info = { + revision = '4ab3e251eae8890a020d083d00acd1b8c2653c07', url = 'https://github.com/jpt13653903/tree-sitter-vhdl', - files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@jpt13653903' }, tier = 3, @@ -2536,7 +2534,7 @@ return { }, vim = { install_info = { - revision = 'b448ca63f972ade12c373c808acdd2bf972937db', + revision = 'f3cd62d8bd043ef20507e84bb6b4b53731ccf3a7', url = 'https://github.com/tree-sitter-grammars/tree-sitter-vim', }, maintainers = { '@clason' }, @@ -2552,8 +2550,8 @@ return { }, vrl = { install_info = { + revision = '274b3ce63f72aa8ffea18e7fc280d3062d28f0ba', url = 'https://github.com/belltoy/tree-sitter-vrl', - files = { 'src/parser.c' }, }, maintainers = { '@belltoy' }, tier = 3, @@ -2580,7 +2578,7 @@ return { wgsl_bevy = { install_info = { generate_from_json = true, - revision = '1e12c7925c41bb09818d86e30cd78644fde7d31a', + revision = '0f06f24e259ac725045956436b9025dab008ff9f', url = 'https://github.com/tree-sitter-grammars/tree-sitter-wgsl-bevy', }, maintainers = { '@theHamsta' }, @@ -2596,7 +2594,7 @@ return { }, wit = { install_info = { - revision = 'cab94791450524a542324d8cbe8017d69c516d8e', + revision = 'c52f0b07786603df17ad0197f6cef680f312eb2c', url = 'https://github.com/liamwh/tree-sitter-wit', }, maintainers = { '@liamwh' }, @@ -2604,7 +2602,7 @@ return { }, xcompose = { install_info = { - revision = '2383cc69a2c42cfade41c7cb971fb3862bec6df1', + revision = 'fff3e72242aa110ebba6441946ea4d12d200fa68', url = 'https://github.com/tree-sitter-grammars/tree-sitter-xcompose', }, maintainers = { '@ObserverOfTime' }, @@ -2613,7 +2611,7 @@ return { xml = { install_info = { location = 'xml', - revision = '648183d86f6f8ffb240ea11b4c6873f6f45d8b67', + revision = '809266ed1694d64dedc168a18893cc254e3edf7e', url = 'https://github.com/tree-sitter-grammars/tree-sitter-xml', }, maintainers = { '@ObserverOfTime' }, @@ -2654,7 +2652,7 @@ return { }, zathurarc = { install_info = { - revision = '6e7c8edfcd6f5f7c12b2fa9ffc6d042f1b6d7068', + revision = '0554b4a5d313244b7fc000cbb41c04afae4f4e31', url = 'https://github.com/Freed-Wu/tree-sitter-zathurarc', }, maintainers = { '@Freed-Wu' }, |
