local ostree = require "ostree"; local repo_url = "https://dl.flathub.org/repo"; local actions = {}; function actions.list() local repo = ostree.from_http(repo_url); local index = repo:read_summary_index(); local summary = repo:read_subsummary(index.refs.x86_64.checksum); for ref in pairs(summary.refs) do print(ref); end end function actions.search(term) local repo = ostree.from_http(repo_url); local index = repo:read_summary_index(); local summary = repo:read_subsummary(index.refs.x86_64.checksum); for ref in pairs(summary.refs) do if ref:lower():match(term:lower(), 1, true) then print(ref); end end end return function (action, ...) actions[action](...); end