diff --git a/lua/ts.lua b/lua/ts.lua index fd02180..3b1274e 100644 --- a/lua/ts.lua +++ b/lua/ts.lua @@ -143,6 +143,17 @@ local function name_from_url(url) return (name:gsub("%.git$", "")) 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 ---@return ow.TS.Repo local function normalize(entry) @@ -163,9 +174,8 @@ local function normalize(entry) table.insert(parsers, { lang = s.lang, location = s.location, - generate = s.generate ~= nil and s.generate or opts.generate, - from_json = s.from_json ~= nil and s.from_json - or opts.from_json, + generate = pick(s.generate, opts.generate), + from_json = pick(s.from_json, opts.from_json), }) end else