fix(ts): honor explicit per-parser generate/from_json = false

This commit is contained in:
2026-05-03 10:16:53 +02:00
parent 9b22a86042
commit 3f9f064e34
+13 -3
View File
@@ -143,6 +143,17 @@ local function name_from_url(url)
return (name:gsub("%.git$", "")) return (name:gsub("%.git$", ""))
end end
---@generic T
---@param child T?
---@param parent T?
---@return T?
local function pick(child, parent)
if child ~= nil then
return child
end
return parent
end
---@param entry string | ow.TS.RepoOpts ---@param entry string | ow.TS.RepoOpts
---@return ow.TS.Repo ---@return ow.TS.Repo
local function normalize(entry) local function normalize(entry)
@@ -163,9 +174,8 @@ local function normalize(entry)
table.insert(parsers, { table.insert(parsers, {
lang = s.lang, lang = s.lang,
location = s.location, location = s.location,
generate = s.generate ~= nil and s.generate or opts.generate, generate = pick(s.generate, opts.generate),
from_json = s.from_json ~= nil and s.from_json from_json = pick(s.from_json, opts.from_json),
or opts.from_json,
}) })
end end
else else