43 lines
1.2 KiB
Plaintext
43 lines
1.2 KiB
Plaintext
|
def show_flags:
|
||
|
|
||
|
.flags
|
||
|
| map_values(select(.category != "config"))
|
||
|
| to_entries
|
||
|
| map(
|
||
|
" - `--" + .key + "`"
|
||
|
+ (if .value.shortName then " / `" + .value.shortName + "`" else "" end)
|
||
|
+ (if .value.labels then " " + (.value.labels | map("*" + . + "*") | join(" ")) else "" end)
|
||
|
+ " \n"
|
||
|
+ " " + .value.description + "\n\n")
|
||
|
| join("")
|
||
|
;
|
||
|
|
||
|
def show_synopsis:
|
||
|
|
||
|
"`" + .command + "` " + (.args | map("*" + .label + "*" + (if has("arity") then "" else "..." end)) | join(" ")) + "\n"
|
||
|
|
||
|
;
|
||
|
|
||
|
"# Synopsis\n\n"
|
||
|
+ ({"command": "nix", "args": .args} | show_synopsis)
|
||
|
+ "\n"
|
||
|
+ "# Common flags\n\n"
|
||
|
+ show_flags
|
||
|
+ (.commands | to_entries | map(
|
||
|
"# Operation `" + .key + "`\n\n"
|
||
|
+ "## Synopsis\n\n"
|
||
|
+ ({"command": ("nix " + .key), "args": .value.args} | show_synopsis)
|
||
|
+ "\n"
|
||
|
+ "## Description\n\n"
|
||
|
+ .value.description + "\n\n"
|
||
|
+ (if (.value.flags | length) > 0 then
|
||
|
"## Flags\n\n"
|
||
|
+ (.value | show_flags)
|
||
|
else "" end)
|
||
|
+ (if (.value.examples | length) > 0 then
|
||
|
"## Examples\n\n"
|
||
|
+ (.value.examples | map("- " + .description + "\n\n ```console\n " + .command + "\n ```\n" ) | join("\n"))
|
||
|
+ "\n"
|
||
|
else "" end)
|
||
|
) | join(""))
|