less scary jq

Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
This commit is contained in:
Valentin Gagarin 2024-03-04 19:25:28 +01:00 committed by GitHub
parent 4b15ca2ffb
commit 8a6ef3bae5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -53,24 +53,14 @@ nix-prefetch-url --help
function subcommands() {
jq -r '
def recurse($prefix):
if .commands then
.commands | to_entries[] | .key as $k |
($prefix + " " + $k) as $newPrefix |
if .value | has("commands") then
(.value | recurse($newPrefix))
to_entries[] |
($prefix + [.key]) as $newPrefix |
(if .value | has("commands") then
($newPrefix, (.value.commands | recurse($newPrefix)))
else
$newPrefix
end
else
$prefix
end;
.args.commands | to_entries[] | .key as $cmd |
if .value | has("commands") then
(.value | recurse($cmd))
else
$cmd
end
end);
.args.commands | recurse([]) | join(" ")
'
}