@rom-weaver/cli 0.14.1 → 0.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -40,6 +40,7 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
40
40
  cand extract 'Unpack an archive or single-payload compressed format'
41
41
  cand checksum 'Compute checksums for a file, or for a ROM inside an archive'
42
42
  cand identify 'Identify a ROM title from its checksums'
43
+ cand setup 'Install the offline identify database'
43
44
  cand ingest 'Sort a file into ROMs and patches, unpacking and hashing along the way'
44
45
  cand compress 'Pack files into an archive, disc image, or ROM-specific compressed format'
45
46
  cand trim 'Cut the padding off a ROM, or put it back'
@@ -49,6 +50,7 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
49
50
  cand plan-extract-batch 'Plan a memory-/thread-aware concurrent extraction schedule from per-job source sizes (no I/O)'
50
51
  cand weave 'Apply one or more patches to a ROM, in order (same as `patch apply`)'
51
52
  cand completions 'Print a tab-completion script for your shell'
53
+ cand man 'Print or install the generated CLI man pages'
52
54
  cand formats 'List the formats, codecs, and checksum algorithms this build supports'
53
55
  cand help 'Print this message or the help of the given subcommand(s)'
54
56
  }
@@ -464,6 +466,25 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
464
466
  }
465
467
  &'rom-weaver;identify;help;help'= {
466
468
  }
469
+ &'rom-weaver;setup'= {
470
+ cand --database-dir 'Install into this directory instead of the per-user data directory'
471
+ cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
472
+ cand --force 'Download the database again even when it is already installed'
473
+ cand --json 'Print one JSON object per line instead of human-readable output'
474
+ cand --progress 'Show progress even when output is piped to a file or another program'
475
+ cand --no-progress 'Hide progress'
476
+ cand -v 'Log more: -v for info, -vv for debug, -vvv for trace'
477
+ cand --verbose 'Log more: -v for info, -vv for debug, -vvv for trace'
478
+ cand -q 'Log errors only'
479
+ cand --quiet 'Log errors only'
480
+ cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
481
+ cand --color 'Keep colors even when output is piped'
482
+ cand --no-color 'Turn colors off'
483
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
484
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
485
+ cand -h 'Print help (see more with ''--help'')'
486
+ cand --help 'Print help (see more with ''--help'')'
487
+ }
467
488
  &'rom-weaver;ingest'= {
468
489
  cand -i 'File to sort into ROMs and patches'
469
490
  cand --input 'File to sort into ROMs and patches'
@@ -591,11 +612,12 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
591
612
  &'rom-weaver;patch;apply'= {
592
613
  cand -i 'ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle'
593
614
  cand --input 'ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle'
594
- cand -s 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)'
595
- cand --select 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)'
615
+ cand -s 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows'
616
+ cand --select 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows'
596
617
  cand --target 'For a .cue or .gdi input, which track gets the patch. Matched like --select and must hit exactly one track'
597
618
  cand --filter 'Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)'
598
619
  cand --patch 'Patch to apply. Repeat once per patch; they run in the order given'
620
+ cand --patch-select 'Pick which file to use inside the --patch archive before it. Repeatable, one per --patch; falls back to --select'
599
621
  cand -o 'Where to write the patched ROM. Optional when a bundle already names the output'
600
622
  cand --output 'Where to write the patched ROM. Optional when a bundle already names the output'
601
623
  cand --bundle 'Follow a rom-weaver-bundle.json recipe: a file path, or an http(s) URL'
@@ -649,11 +671,12 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
649
671
  &'rom-weaver;patch;weave'= {
650
672
  cand -i 'ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle'
651
673
  cand --input 'ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle'
652
- cand -s 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)'
653
- cand --select 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)'
674
+ cand -s 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows'
675
+ cand --select 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows'
654
676
  cand --target 'For a .cue or .gdi input, which track gets the patch. Matched like --select and must hit exactly one track'
655
677
  cand --filter 'Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)'
656
678
  cand --patch 'Patch to apply. Repeat once per patch; they run in the order given'
679
+ cand --patch-select 'Pick which file to use inside the --patch archive before it. Repeatable, one per --patch; falls back to --select'
657
680
  cand -o 'Where to write the patched ROM. Optional when a bundle already names the output'
658
681
  cand --output 'Where to write the patched ROM. Optional when a bundle already names the output'
659
682
  cand --bundle 'Follow a rom-weaver-bundle.json recipe: a file path, or an http(s) URL'
@@ -707,10 +730,11 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
707
730
  &'rom-weaver;patch;validate'= {
708
731
  cand -i 'ROM to check the patches against. May be an archive'
709
732
  cand --input 'ROM to check the patches against. May be an archive'
710
- cand -s 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)'
711
- cand --select 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)'
733
+ cand -s 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows'
734
+ cand --select 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows'
712
735
  cand --filter 'Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)'
713
736
  cand --patch 'Patch to check. Repeat once per patch; they are checked in the order given'
737
+ cand --patch-select 'Pick which file to use inside the --patch archive before it. Repeatable, one per --patch; falls back to --select'
714
738
  cand --assume-in 'Take this checksum on trust instead of reading the ROM to compute it, as in crc32=1234abcd (repeatable, comma-separable)'
715
739
  cand --expect-in 'Fail unless the ROM matches: a checksum (crc32=1234abcd), an exact size (size=N), or a floor (min-size=N). Repeatable, comma-separable'
716
740
  cand --n64-byte-order 'Byte order to put an N64 ROM in before checking: auto, keep, big-endian, little-endian, or byte-swapped [default: auto]'
@@ -1001,11 +1025,12 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
1001
1025
  &'rom-weaver;weave'= {
1002
1026
  cand -i 'ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle'
1003
1027
  cand --input 'ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle'
1004
- cand -s 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)'
1005
- cand --select 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)'
1028
+ cand -s 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows'
1029
+ cand --select 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows'
1006
1030
  cand --target 'For a .cue or .gdi input, which track gets the patch. Matched like --select and must hit exactly one track'
1007
1031
  cand --filter 'Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)'
1008
1032
  cand --patch 'Patch to apply. Repeat once per patch; they run in the order given'
1033
+ cand --patch-select 'Pick which file to use inside the --patch archive before it. Repeatable, one per --patch; falls back to --select'
1009
1034
  cand -o 'Where to write the patched ROM. Optional when a bundle already names the output'
1010
1035
  cand --output 'Where to write the patched ROM. Optional when a bundle already names the output'
1011
1036
  cand --bundle 'Follow a rom-weaver-bundle.json recipe: a file path, or an http(s) URL'
@@ -1073,6 +1098,25 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
1073
1098
  cand -h 'Print help (see more with ''--help'')'
1074
1099
  cand --help 'Print help (see more with ''--help'')'
1075
1100
  }
1101
+ &'rom-weaver;man'= {
1102
+ cand --man-dir 'Directory to install pages into'
1103
+ cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
1104
+ cand --install 'Install the generated pages instead of printing one'
1105
+ cand --json 'Print one JSON object per line instead of human-readable output'
1106
+ cand --progress 'Show progress even when output is piped to a file or another program'
1107
+ cand --no-progress 'Hide progress'
1108
+ cand -v 'Log more: -v for info, -vv for debug, -vvv for trace'
1109
+ cand --verbose 'Log more: -v for info, -vv for debug, -vvv for trace'
1110
+ cand -q 'Log errors only'
1111
+ cand --quiet 'Log errors only'
1112
+ cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
1113
+ cand --color 'Keep colors even when output is piped'
1114
+ cand --no-color 'Turn colors off'
1115
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
1116
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
1117
+ cand -h 'Print help (see more with ''--help'')'
1118
+ cand --help 'Print help (see more with ''--help'')'
1119
+ }
1076
1120
  &'rom-weaver;formats'= {
1077
1121
  cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
1078
1122
  cand --json 'Print one JSON object per line instead of human-readable output'
@@ -1095,6 +1139,7 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
1095
1139
  cand extract 'Unpack an archive or single-payload compressed format'
1096
1140
  cand checksum 'Compute checksums for a file, or for a ROM inside an archive'
1097
1141
  cand identify 'Identify a ROM title from its checksums'
1142
+ cand setup 'Install the offline identify database'
1098
1143
  cand ingest 'Sort a file into ROMs and patches, unpacking and hashing along the way'
1099
1144
  cand compress 'Pack files into an archive, disc image, or ROM-specific compressed format'
1100
1145
  cand trim 'Cut the padding off a ROM, or put it back'
@@ -1104,6 +1149,7 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
1104
1149
  cand plan-extract-batch 'Plan a memory-/thread-aware concurrent extraction schedule from per-job source sizes (no I/O)'
1105
1150
  cand weave 'Apply one or more patches to a ROM, in order (same as `patch apply`)'
1106
1151
  cand completions 'Print a tab-completion script for your shell'
1152
+ cand man 'Print or install the generated CLI man pages'
1107
1153
  cand formats 'List the formats, codecs, and checksum algorithms this build supports'
1108
1154
  cand help 'Print this message or the help of the given subcommand(s)'
1109
1155
  }
@@ -1145,6 +1191,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
1145
1191
  }
1146
1192
  &'rom-weaver;help;identify;database;update'= {
1147
1193
  }
1194
+ &'rom-weaver;help;setup'= {
1195
+ }
1148
1196
  &'rom-weaver;help;ingest'= {
1149
1197
  }
1150
1198
  &'rom-weaver;help;compress'= {
@@ -1184,6 +1232,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
1184
1232
  }
1185
1233
  &'rom-weaver;help;completions'= {
1186
1234
  }
1235
+ &'rom-weaver;help;man'= {
1236
+ }
1187
1237
  &'rom-weaver;help;formats'= {
1188
1238
  }
1189
1239
  &'rom-weaver;help;help'= {
@@ -46,6 +46,7 @@ complete -c rom-weaver -n "__fish_rom_weaver_needs_command" -f -a "inspect" -d '
46
46
  complete -c rom-weaver -n "__fish_rom_weaver_needs_command" -f -a "extract" -d 'Unpack an archive or single-payload compressed format'
47
47
  complete -c rom-weaver -n "__fish_rom_weaver_needs_command" -f -a "checksum" -d 'Compute checksums for a file, or for a ROM inside an archive'
48
48
  complete -c rom-weaver -n "__fish_rom_weaver_needs_command" -f -a "identify" -d 'Identify a ROM title from its checksums'
49
+ complete -c rom-weaver -n "__fish_rom_weaver_needs_command" -f -a "setup" -d 'Install the offline identify database'
49
50
  complete -c rom-weaver -n "__fish_rom_weaver_needs_command" -f -a "ingest" -d 'Sort a file into ROMs and patches, unpacking and hashing along the way'
50
51
  complete -c rom-weaver -n "__fish_rom_weaver_needs_command" -f -a "compress" -d 'Pack files into an archive, disc image, or ROM-specific compressed format'
51
52
  complete -c rom-weaver -n "__fish_rom_weaver_needs_command" -f -a "trim" -d 'Cut the padding off a ROM, or put it back'
@@ -55,6 +56,7 @@ complete -c rom-weaver -n "__fish_rom_weaver_needs_command" -f -a "tools" -d 'On
55
56
  complete -c rom-weaver -n "__fish_rom_weaver_needs_command" -f -a "plan-extract-batch" -d 'Plan a memory-/thread-aware concurrent extraction schedule from per-job source sizes (no I/O)'
56
57
  complete -c rom-weaver -n "__fish_rom_weaver_needs_command" -f -a "weave" -d 'Apply one or more patches to a ROM, in order (same as `patch apply`)'
57
58
  complete -c rom-weaver -n "__fish_rom_weaver_needs_command" -f -a "completions" -d 'Print a tab-completion script for your shell'
59
+ complete -c rom-weaver -n "__fish_rom_weaver_needs_command" -f -a "man" -d 'Print or install the generated CLI man pages'
58
60
  complete -c rom-weaver -n "__fish_rom_weaver_needs_command" -f -a "formats" -d 'List the formats, codecs, and checksum algorithms this build supports'
59
61
  complete -c rom-weaver -n "__fish_rom_weaver_needs_command" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
60
62
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand probe" -s i -l input -d 'File to identify. Use - to read from stdin' -r -F
@@ -240,6 +242,24 @@ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand identify; and __fi
240
242
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand identify; and __fish_seen_subcommand_from database" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
241
243
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand identify; and __fish_seen_subcommand_from help" -f -a "database" -d 'Manage the installed identify database packs'
242
244
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand identify; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
245
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand setup" -l database-dir -d 'Install into this directory instead of the per-user data directory' -r -F
246
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand setup" -l log-level -d 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]' -r -f -a "off\t''
247
+ error\t''
248
+ warn\t''
249
+ info\t''
250
+ debug\t''
251
+ trace\t''"
252
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand setup" -l force -d 'Download the database again even when it is already installed'
253
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand setup" -l json -d 'Print one JSON object per line instead of human-readable output'
254
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand setup" -l progress -d 'Show progress even when output is piped to a file or another program'
255
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand setup" -l no-progress -d 'Hide progress'
256
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand setup" -s v -l verbose -d 'Log more: -v for info, -vv for debug, -vvv for trace'
257
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand setup" -s q -l quiet -d 'Log errors only'
258
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand setup" -l dep-trace -d 'Also log trace output from bundled libraries (for bug reports)'
259
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand setup" -l color -d 'Keep colors even when output is piped'
260
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand setup" -l no-color -d 'Turn colors off'
261
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand setup" -s y -l yes -d 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
262
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand setup" -s h -l help -d 'Print help (see more with \'--help\')'
243
263
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand ingest" -s i -l input -d 'File to sort into ROMs and patches' -r -F
244
264
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand ingest" -s o -l output -d 'Directory to write anything unpacked along the way into' -r -F
245
265
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand ingest" -s d -l database -d 'RWFP1 identify pack, raw or Brotli, for ROM titles (repeatable; native defaults to built-in data)' -r -F
@@ -373,11 +393,12 @@ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and not __f
373
393
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and not __fish_seen_subcommand_from apply weave validate create help" -f -a "create" -d 'Build a patch from an original ROM and a changed one'
374
394
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and not __fish_seen_subcommand_from apply weave validate create help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
375
395
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from apply" -s i -l input -d 'ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle' -r -F
376
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from apply" -s s -l select -d 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)' -r
396
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from apply" -s s -l select -d 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows' -r
377
397
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from apply" -l target -d 'For a .cue or .gdi input, which track gets the patch. Matched like --select and must hit exactly one track' -r
378
398
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from apply" -l filter -d 'Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)' -r -f -a "rom\t''
379
399
  patch\t''"
380
400
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from apply" -l patch -d 'Patch to apply. Repeat once per patch; they run in the order given' -r -F
401
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from apply" -l patch-select -d 'Pick which file to use inside the --patch archive before it. Repeatable, one per --patch; falls back to --select' -r
381
402
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from apply" -s o -l output -d 'Where to write the patched ROM. Optional when a bundle already names the output' -r -F
382
403
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from apply" -l bundle -d 'Follow a rom-weaver-bundle.json recipe: a file path, or an http(s) URL' -r -F
383
404
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from apply" -l with -d 'Turn on a bundle patch the bundle leaves off by default, matched by name or file name (repeatable)' -r
@@ -454,11 +475,12 @@ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_
454
475
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from apply" -s y -l yes -d 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
455
476
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from apply" -s h -l help -d 'Print help (see more with \'--help\')'
456
477
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from weave" -s i -l input -d 'ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle' -r -F
457
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from weave" -s s -l select -d 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)' -r
478
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from weave" -s s -l select -d 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows' -r
458
479
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from weave" -l target -d 'For a .cue or .gdi input, which track gets the patch. Matched like --select and must hit exactly one track' -r
459
480
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from weave" -l filter -d 'Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)' -r -f -a "rom\t''
460
481
  patch\t''"
461
482
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from weave" -l patch -d 'Patch to apply. Repeat once per patch; they run in the order given' -r -F
483
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from weave" -l patch-select -d 'Pick which file to use inside the --patch archive before it. Repeatable, one per --patch; falls back to --select' -r
462
484
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from weave" -s o -l output -d 'Where to write the patched ROM. Optional when a bundle already names the output' -r -F
463
485
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from weave" -l bundle -d 'Follow a rom-weaver-bundle.json recipe: a file path, or an http(s) URL' -r -F
464
486
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from weave" -l with -d 'Turn on a bundle patch the bundle leaves off by default, matched by name or file name (repeatable)' -r
@@ -535,10 +557,11 @@ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_
535
557
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from weave" -s y -l yes -d 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
536
558
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from weave" -s h -l help -d 'Print help (see more with \'--help\')'
537
559
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from validate" -s i -l input -d 'ROM to check the patches against. May be an archive' -r -F
538
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from validate" -s s -l select -d 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)' -r
560
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from validate" -s s -l select -d 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows' -r
539
561
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from validate" -l filter -d 'Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)' -r -f -a "rom\t''
540
562
  patch\t''"
541
563
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from validate" -l patch -d 'Patch to check. Repeat once per patch; they are checked in the order given' -r -F
564
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from validate" -l patch-select -d 'Pick which file to use inside the --patch archive before it. Repeatable, one per --patch; falls back to --select' -r
542
565
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from validate" -l assume-in -d 'Take this checksum on trust instead of reading the ROM to compute it, as in crc32=1234abcd (repeatable, comma-separable)' -r
543
566
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from validate" -l expect-in -d 'Fail unless the ROM matches: a checksum (crc32=1234abcd), an exact size (size=N), or a floor (min-size=N). Repeatable, comma-separable' -r
544
567
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand patch; and __fish_seen_subcommand_from validate" -l n64-byte-order -d 'Byte order to put an N64 ROM in before checking: auto, keep, big-endian, little-endian, or byte-swapped [default: auto]' -r -f -a "auto\t''
@@ -803,11 +826,12 @@ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand plan-extract-batch
803
826
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand plan-extract-batch" -s y -l yes -d 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
804
827
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand plan-extract-batch" -s h -l help -d 'Print help'
805
828
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand weave" -s i -l input -d 'ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle' -r -F
806
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand weave" -s s -l select -d 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)' -r
829
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand weave" -s s -l select -d 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows' -r
807
830
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand weave" -l target -d 'For a .cue or .gdi input, which track gets the patch. Matched like --select and must hit exactly one track' -r
808
831
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand weave" -l filter -d 'Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)' -r -f -a "rom\t''
809
832
  patch\t''"
810
833
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand weave" -l patch -d 'Patch to apply. Repeat once per patch; they run in the order given' -r -F
834
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand weave" -l patch-select -d 'Pick which file to use inside the --patch archive before it. Repeatable, one per --patch; falls back to --select' -r
811
835
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand weave" -s o -l output -d 'Where to write the patched ROM. Optional when a bundle already names the output' -r -F
812
836
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand weave" -l bundle -d 'Follow a rom-weaver-bundle.json recipe: a file path, or an http(s) URL' -r -F
813
837
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand weave" -l with -d 'Turn on a bundle patch the bundle leaves off by default, matched by name or file name (repeatable)' -r
@@ -899,6 +923,24 @@ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand completions" -l co
899
923
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand completions" -l no-color -d 'Turn colors off'
900
924
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand completions" -s y -l yes -d 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
901
925
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand completions" -s h -l help -d 'Print help (see more with \'--help\')'
926
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand man" -l man-dir -d 'Directory to install pages into' -r -F
927
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand man" -l log-level -d 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]' -r -f -a "off\t''
928
+ error\t''
929
+ warn\t''
930
+ info\t''
931
+ debug\t''
932
+ trace\t''"
933
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand man" -l install -d 'Install the generated pages instead of printing one'
934
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand man" -l json -d 'Print one JSON object per line instead of human-readable output'
935
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand man" -l progress -d 'Show progress even when output is piped to a file or another program'
936
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand man" -l no-progress -d 'Hide progress'
937
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand man" -s v -l verbose -d 'Log more: -v for info, -vv for debug, -vvv for trace'
938
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand man" -s q -l quiet -d 'Log errors only'
939
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand man" -l dep-trace -d 'Also log trace output from bundled libraries (for bug reports)'
940
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand man" -l color -d 'Keep colors even when output is piped'
941
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand man" -l no-color -d 'Turn colors off'
942
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand man" -s y -l yes -d 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
943
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand man" -s h -l help -d 'Print help (see more with \'--help\')'
902
944
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand formats" -l log-level -d 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]' -r -f -a "off\t''
903
945
  error\t''
904
946
  warn\t''
@@ -915,21 +957,23 @@ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand formats" -l color
915
957
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand formats" -l no-color -d 'Turn colors off'
916
958
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand formats" -s y -l yes -d 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
917
959
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand formats" -s h -l help -d 'Print help (see more with \'--help\')'
918
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify ingest compress trim patch bundle tools plan-extract-batch weave completions formats help" -f -a "probe" -d 'Identify a file: its format, its platform, and any header it carries'
919
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify ingest compress trim patch bundle tools plan-extract-batch weave completions formats help" -f -a "extract" -d 'Unpack an archive or single-payload compressed format'
920
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify ingest compress trim patch bundle tools plan-extract-batch weave completions formats help" -f -a "checksum" -d 'Compute checksums for a file, or for a ROM inside an archive'
921
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify ingest compress trim patch bundle tools plan-extract-batch weave completions formats help" -f -a "identify" -d 'Identify a ROM title from its checksums'
922
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify ingest compress trim patch bundle tools plan-extract-batch weave completions formats help" -f -a "ingest" -d 'Sort a file into ROMs and patches, unpacking and hashing along the way'
923
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify ingest compress trim patch bundle tools plan-extract-batch weave completions formats help" -f -a "compress" -d 'Pack files into an archive, disc image, or ROM-specific compressed format'
924
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify ingest compress trim patch bundle tools plan-extract-batch weave completions formats help" -f -a "trim" -d 'Cut the padding off a ROM, or put it back'
925
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify ingest compress trim patch bundle tools plan-extract-batch weave completions formats help" -f -a "patch" -d 'Apply, create, or check ROM patches'
926
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify ingest compress trim patch bundle tools plan-extract-batch weave completions formats help" -f -a "bundle" -d 'Build and read rom-weaver-bundle.json patch recipes'
927
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify ingest compress trim patch bundle tools plan-extract-batch weave completions formats help" -f -a "tools" -d 'One-off recovery tools'
928
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify ingest compress trim patch bundle tools plan-extract-batch weave completions formats help" -f -a "plan-extract-batch" -d 'Plan a memory-/thread-aware concurrent extraction schedule from per-job source sizes (no I/O)'
929
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify ingest compress trim patch bundle tools plan-extract-batch weave completions formats help" -f -a "weave" -d 'Apply one or more patches to a ROM, in order (same as `patch apply`)'
930
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify ingest compress trim patch bundle tools plan-extract-batch weave completions formats help" -f -a "completions" -d 'Print a tab-completion script for your shell'
931
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify ingest compress trim patch bundle tools plan-extract-batch weave completions formats help" -f -a "formats" -d 'List the formats, codecs, and checksum algorithms this build supports'
932
- complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify ingest compress trim patch bundle tools plan-extract-batch weave completions formats help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
960
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify setup ingest compress trim patch bundle tools plan-extract-batch weave completions man formats help" -f -a "probe" -d 'Identify a file: its format, its platform, and any header it carries'
961
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify setup ingest compress trim patch bundle tools plan-extract-batch weave completions man formats help" -f -a "extract" -d 'Unpack an archive or single-payload compressed format'
962
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify setup ingest compress trim patch bundle tools plan-extract-batch weave completions man formats help" -f -a "checksum" -d 'Compute checksums for a file, or for a ROM inside an archive'
963
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify setup ingest compress trim patch bundle tools plan-extract-batch weave completions man formats help" -f -a "identify" -d 'Identify a ROM title from its checksums'
964
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify setup ingest compress trim patch bundle tools plan-extract-batch weave completions man formats help" -f -a "setup" -d 'Install the offline identify database'
965
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify setup ingest compress trim patch bundle tools plan-extract-batch weave completions man formats help" -f -a "ingest" -d 'Sort a file into ROMs and patches, unpacking and hashing along the way'
966
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify setup ingest compress trim patch bundle tools plan-extract-batch weave completions man formats help" -f -a "compress" -d 'Pack files into an archive, disc image, or ROM-specific compressed format'
967
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify setup ingest compress trim patch bundle tools plan-extract-batch weave completions man formats help" -f -a "trim" -d 'Cut the padding off a ROM, or put it back'
968
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify setup ingest compress trim patch bundle tools plan-extract-batch weave completions man formats help" -f -a "patch" -d 'Apply, create, or check ROM patches'
969
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify setup ingest compress trim patch bundle tools plan-extract-batch weave completions man formats help" -f -a "bundle" -d 'Build and read rom-weaver-bundle.json patch recipes'
970
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify setup ingest compress trim patch bundle tools plan-extract-batch weave completions man formats help" -f -a "tools" -d 'One-off recovery tools'
971
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify setup ingest compress trim patch bundle tools plan-extract-batch weave completions man formats help" -f -a "plan-extract-batch" -d 'Plan a memory-/thread-aware concurrent extraction schedule from per-job source sizes (no I/O)'
972
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify setup ingest compress trim patch bundle tools plan-extract-batch weave completions man formats help" -f -a "weave" -d 'Apply one or more patches to a ROM, in order (same as `patch apply`)'
973
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify setup ingest compress trim patch bundle tools plan-extract-batch weave completions man formats help" -f -a "completions" -d 'Print a tab-completion script for your shell'
974
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify setup ingest compress trim patch bundle tools plan-extract-batch weave completions man formats help" -f -a "man" -d 'Print or install the generated CLI man pages'
975
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify setup ingest compress trim patch bundle tools plan-extract-batch weave completions man formats help" -f -a "formats" -d 'List the formats, codecs, and checksum algorithms this build supports'
976
+ complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and not __fish_seen_subcommand_from probe extract checksum identify setup ingest compress trim patch bundle tools plan-extract-batch weave completions man formats help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
933
977
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and __fish_seen_subcommand_from identify" -f -a "database" -d 'Manage the installed identify database packs'
934
978
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and __fish_seen_subcommand_from patch" -f -a "apply" -d 'Apply one or more patches to a ROM, in order'
935
979
  complete -c rom-weaver -n "__fish_rom_weaver_using_subcommand help; and __fish_seen_subcommand_from patch" -f -a "validate" -d 'Check that patches would apply cleanly, without writing anything'
@@ -43,6 +43,7 @@ Register-ArgumentCompleter -Native -CommandName 'rom-weaver' -ScriptBlock {
43
43
  [CompletionResult]::new('extract', 'extract', [CompletionResultType]::ParameterValue, 'Unpack an archive or single-payload compressed format')
44
44
  [CompletionResult]::new('checksum', 'checksum', [CompletionResultType]::ParameterValue, 'Compute checksums for a file, or for a ROM inside an archive')
45
45
  [CompletionResult]::new('identify', 'identify', [CompletionResultType]::ParameterValue, 'Identify a ROM title from its checksums')
46
+ [CompletionResult]::new('setup', 'setup', [CompletionResultType]::ParameterValue, 'Install the offline identify database')
46
47
  [CompletionResult]::new('ingest', 'ingest', [CompletionResultType]::ParameterValue, 'Sort a file into ROMs and patches, unpacking and hashing along the way')
47
48
  [CompletionResult]::new('compress', 'compress', [CompletionResultType]::ParameterValue, 'Pack files into an archive, disc image, or ROM-specific compressed format')
48
49
  [CompletionResult]::new('trim', 'trim', [CompletionResultType]::ParameterValue, 'Cut the padding off a ROM, or put it back')
@@ -52,6 +53,7 @@ Register-ArgumentCompleter -Native -CommandName 'rom-weaver' -ScriptBlock {
52
53
  [CompletionResult]::new('plan-extract-batch', 'plan-extract-batch', [CompletionResultType]::ParameterValue, 'Plan a memory-/thread-aware concurrent extraction schedule from per-job source sizes (no I/O)')
53
54
  [CompletionResult]::new('weave', 'weave', [CompletionResultType]::ParameterValue, 'Apply one or more patches to a ROM, in order (same as `patch apply`)')
54
55
  [CompletionResult]::new('completions', 'completions', [CompletionResultType]::ParameterValue, 'Print a tab-completion script for your shell')
56
+ [CompletionResult]::new('man', 'man', [CompletionResultType]::ParameterValue, 'Print or install the generated CLI man pages')
55
57
  [CompletionResult]::new('formats', 'formats', [CompletionResultType]::ParameterValue, 'List the formats, codecs, and checksum algorithms this build supports')
56
58
  [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
57
59
  break
@@ -506,6 +508,26 @@ Register-ArgumentCompleter -Native -CommandName 'rom-weaver' -ScriptBlock {
506
508
  'rom-weaver;identify;help;help' {
507
509
  break
508
510
  }
511
+ 'rom-weaver;setup' {
512
+ [CompletionResult]::new('--database-dir', '--database-dir', [CompletionResultType]::ParameterName, 'Install into this directory instead of the per-user data directory')
513
+ [CompletionResult]::new('--log-level', '--log-level', [CompletionResultType]::ParameterName, 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]')
514
+ [CompletionResult]::new('--force', '--force', [CompletionResultType]::ParameterName, 'Download the database again even when it is already installed')
515
+ [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Print one JSON object per line instead of human-readable output')
516
+ [CompletionResult]::new('--progress', '--progress', [CompletionResultType]::ParameterName, 'Show progress even when output is piped to a file or another program')
517
+ [CompletionResult]::new('--no-progress', '--no-progress', [CompletionResultType]::ParameterName, 'Hide progress')
518
+ [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Log more: -v for info, -vv for debug, -vvv for trace')
519
+ [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Log more: -v for info, -vv for debug, -vvv for trace')
520
+ [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Log errors only')
521
+ [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Log errors only')
522
+ [CompletionResult]::new('--dep-trace', '--dep-trace', [CompletionResultType]::ParameterName, 'Also log trace output from bundled libraries (for bug reports)')
523
+ [CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Keep colors even when output is piped')
524
+ [CompletionResult]::new('--no-color', '--no-color', [CompletionResultType]::ParameterName, 'Turn colors off')
525
+ [CompletionResult]::new('-y', '-y', [CompletionResultType]::ParameterName, 'Answer yes to every confirmation instead of asking. Does not choose between candidates')
526
+ [CompletionResult]::new('--yes', '--yes', [CompletionResultType]::ParameterName, 'Answer yes to every confirmation instead of asking. Does not choose between candidates')
527
+ [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
528
+ [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
529
+ break
530
+ }
509
531
  'rom-weaver;ingest' {
510
532
  [CompletionResult]::new('-i', '-i', [CompletionResultType]::ParameterName, 'File to sort into ROMs and patches')
511
533
  [CompletionResult]::new('--input', '--input', [CompletionResultType]::ParameterName, 'File to sort into ROMs and patches')
@@ -637,11 +659,12 @@ Register-ArgumentCompleter -Native -CommandName 'rom-weaver' -ScriptBlock {
637
659
  'rom-weaver;patch;apply' {
638
660
  [CompletionResult]::new('-i', '-i', [CompletionResultType]::ParameterName, 'ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle')
639
661
  [CompletionResult]::new('--input', '--input', [CompletionResultType]::ParameterName, 'ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle')
640
- [CompletionResult]::new('-s', '-s', [CompletionResultType]::ParameterName, 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)')
641
- [CompletionResult]::new('--select', '--select', [CompletionResultType]::ParameterName, 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)')
662
+ [CompletionResult]::new('-s', '-s', [CompletionResultType]::ParameterName, 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows')
663
+ [CompletionResult]::new('--select', '--select', [CompletionResultType]::ParameterName, 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows')
642
664
  [CompletionResult]::new('--target', '--target', [CompletionResultType]::ParameterName, 'For a .cue or .gdi input, which track gets the patch. Matched like --select and must hit exactly one track')
643
665
  [CompletionResult]::new('--filter', '--filter', [CompletionResultType]::ParameterName, 'Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)')
644
666
  [CompletionResult]::new('--patch', '--patch', [CompletionResultType]::ParameterName, 'Patch to apply. Repeat once per patch; they run in the order given')
667
+ [CompletionResult]::new('--patch-select', '--patch-select', [CompletionResultType]::ParameterName, 'Pick which file to use inside the --patch archive before it. Repeatable, one per --patch; falls back to --select')
645
668
  [CompletionResult]::new('-o', '-o', [CompletionResultType]::ParameterName, 'Where to write the patched ROM. Optional when a bundle already names the output')
646
669
  [CompletionResult]::new('--output', '--output', [CompletionResultType]::ParameterName, 'Where to write the patched ROM. Optional when a bundle already names the output')
647
670
  [CompletionResult]::new('--bundle', '--bundle', [CompletionResultType]::ParameterName, 'Follow a rom-weaver-bundle.json recipe: a file path, or an http(s) URL')
@@ -696,11 +719,12 @@ Register-ArgumentCompleter -Native -CommandName 'rom-weaver' -ScriptBlock {
696
719
  'rom-weaver;patch;weave' {
697
720
  [CompletionResult]::new('-i', '-i', [CompletionResultType]::ParameterName, 'ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle')
698
721
  [CompletionResult]::new('--input', '--input', [CompletionResultType]::ParameterName, 'ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle')
699
- [CompletionResult]::new('-s', '-s', [CompletionResultType]::ParameterName, 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)')
700
- [CompletionResult]::new('--select', '--select', [CompletionResultType]::ParameterName, 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)')
722
+ [CompletionResult]::new('-s', '-s', [CompletionResultType]::ParameterName, 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows')
723
+ [CompletionResult]::new('--select', '--select', [CompletionResultType]::ParameterName, 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows')
701
724
  [CompletionResult]::new('--target', '--target', [CompletionResultType]::ParameterName, 'For a .cue or .gdi input, which track gets the patch. Matched like --select and must hit exactly one track')
702
725
  [CompletionResult]::new('--filter', '--filter', [CompletionResultType]::ParameterName, 'Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)')
703
726
  [CompletionResult]::new('--patch', '--patch', [CompletionResultType]::ParameterName, 'Patch to apply. Repeat once per patch; they run in the order given')
727
+ [CompletionResult]::new('--patch-select', '--patch-select', [CompletionResultType]::ParameterName, 'Pick which file to use inside the --patch archive before it. Repeatable, one per --patch; falls back to --select')
704
728
  [CompletionResult]::new('-o', '-o', [CompletionResultType]::ParameterName, 'Where to write the patched ROM. Optional when a bundle already names the output')
705
729
  [CompletionResult]::new('--output', '--output', [CompletionResultType]::ParameterName, 'Where to write the patched ROM. Optional when a bundle already names the output')
706
730
  [CompletionResult]::new('--bundle', '--bundle', [CompletionResultType]::ParameterName, 'Follow a rom-weaver-bundle.json recipe: a file path, or an http(s) URL')
@@ -755,10 +779,11 @@ Register-ArgumentCompleter -Native -CommandName 'rom-weaver' -ScriptBlock {
755
779
  'rom-weaver;patch;validate' {
756
780
  [CompletionResult]::new('-i', '-i', [CompletionResultType]::ParameterName, 'ROM to check the patches against. May be an archive')
757
781
  [CompletionResult]::new('--input', '--input', [CompletionResultType]::ParameterName, 'ROM to check the patches against. May be an archive')
758
- [CompletionResult]::new('-s', '-s', [CompletionResultType]::ParameterName, 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)')
759
- [CompletionResult]::new('--select', '--select', [CompletionResultType]::ParameterName, 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)')
782
+ [CompletionResult]::new('-s', '-s', [CompletionResultType]::ParameterName, 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows')
783
+ [CompletionResult]::new('--select', '--select', [CompletionResultType]::ParameterName, 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows')
760
784
  [CompletionResult]::new('--filter', '--filter', [CompletionResultType]::ParameterName, 'Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)')
761
785
  [CompletionResult]::new('--patch', '--patch', [CompletionResultType]::ParameterName, 'Patch to check. Repeat once per patch; they are checked in the order given')
786
+ [CompletionResult]::new('--patch-select', '--patch-select', [CompletionResultType]::ParameterName, 'Pick which file to use inside the --patch archive before it. Repeatable, one per --patch; falls back to --select')
762
787
  [CompletionResult]::new('--assume-in', '--assume-in', [CompletionResultType]::ParameterName, 'Take this checksum on trust instead of reading the ROM to compute it, as in crc32=1234abcd (repeatable, comma-separable)')
763
788
  [CompletionResult]::new('--expect-in', '--expect-in', [CompletionResultType]::ParameterName, 'Fail unless the ROM matches: a checksum (crc32=1234abcd), an exact size (size=N), or a floor (min-size=N). Repeatable, comma-separable')
764
789
  [CompletionResult]::new('--n64-byte-order', '--n64-byte-order', [CompletionResultType]::ParameterName, 'Byte order to put an N64 ROM in before checking: auto, keep, big-endian, little-endian, or byte-swapped [default: auto]')
@@ -1071,11 +1096,12 @@ Register-ArgumentCompleter -Native -CommandName 'rom-weaver' -ScriptBlock {
1071
1096
  'rom-weaver;weave' {
1072
1097
  [CompletionResult]::new('-i', '-i', [CompletionResultType]::ParameterName, 'ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle')
1073
1098
  [CompletionResult]::new('--input', '--input', [CompletionResultType]::ParameterName, 'ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle')
1074
- [CompletionResult]::new('-s', '-s', [CompletionResultType]::ParameterName, 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)')
1075
- [CompletionResult]::new('--select', '--select', [CompletionResultType]::ParameterName, 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)')
1099
+ [CompletionResult]::new('-s', '-s', [CompletionResultType]::ParameterName, 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows')
1100
+ [CompletionResult]::new('--select', '--select', [CompletionResultType]::ParameterName, 'Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows')
1076
1101
  [CompletionResult]::new('--target', '--target', [CompletionResultType]::ParameterName, 'For a .cue or .gdi input, which track gets the patch. Matched like --select and must hit exactly one track')
1077
1102
  [CompletionResult]::new('--filter', '--filter', [CompletionResultType]::ParameterName, 'Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)')
1078
1103
  [CompletionResult]::new('--patch', '--patch', [CompletionResultType]::ParameterName, 'Patch to apply. Repeat once per patch; they run in the order given')
1104
+ [CompletionResult]::new('--patch-select', '--patch-select', [CompletionResultType]::ParameterName, 'Pick which file to use inside the --patch archive before it. Repeatable, one per --patch; falls back to --select')
1079
1105
  [CompletionResult]::new('-o', '-o', [CompletionResultType]::ParameterName, 'Where to write the patched ROM. Optional when a bundle already names the output')
1080
1106
  [CompletionResult]::new('--output', '--output', [CompletionResultType]::ParameterName, 'Where to write the patched ROM. Optional when a bundle already names the output')
1081
1107
  [CompletionResult]::new('--bundle', '--bundle', [CompletionResultType]::ParameterName, 'Follow a rom-weaver-bundle.json recipe: a file path, or an http(s) URL')
@@ -1145,6 +1171,26 @@ Register-ArgumentCompleter -Native -CommandName 'rom-weaver' -ScriptBlock {
1145
1171
  [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
1146
1172
  break
1147
1173
  }
1174
+ 'rom-weaver;man' {
1175
+ [CompletionResult]::new('--man-dir', '--man-dir', [CompletionResultType]::ParameterName, 'Directory to install pages into')
1176
+ [CompletionResult]::new('--log-level', '--log-level', [CompletionResultType]::ParameterName, 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]')
1177
+ [CompletionResult]::new('--install', '--install', [CompletionResultType]::ParameterName, 'Install the generated pages instead of printing one')
1178
+ [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Print one JSON object per line instead of human-readable output')
1179
+ [CompletionResult]::new('--progress', '--progress', [CompletionResultType]::ParameterName, 'Show progress even when output is piped to a file or another program')
1180
+ [CompletionResult]::new('--no-progress', '--no-progress', [CompletionResultType]::ParameterName, 'Hide progress')
1181
+ [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Log more: -v for info, -vv for debug, -vvv for trace')
1182
+ [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Log more: -v for info, -vv for debug, -vvv for trace')
1183
+ [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Log errors only')
1184
+ [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Log errors only')
1185
+ [CompletionResult]::new('--dep-trace', '--dep-trace', [CompletionResultType]::ParameterName, 'Also log trace output from bundled libraries (for bug reports)')
1186
+ [CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Keep colors even when output is piped')
1187
+ [CompletionResult]::new('--no-color', '--no-color', [CompletionResultType]::ParameterName, 'Turn colors off')
1188
+ [CompletionResult]::new('-y', '-y', [CompletionResultType]::ParameterName, 'Answer yes to every confirmation instead of asking. Does not choose between candidates')
1189
+ [CompletionResult]::new('--yes', '--yes', [CompletionResultType]::ParameterName, 'Answer yes to every confirmation instead of asking. Does not choose between candidates')
1190
+ [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
1191
+ [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
1192
+ break
1193
+ }
1148
1194
  'rom-weaver;formats' {
1149
1195
  [CompletionResult]::new('--log-level', '--log-level', [CompletionResultType]::ParameterName, 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]')
1150
1196
  [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Print one JSON object per line instead of human-readable output')
@@ -1168,6 +1214,7 @@ Register-ArgumentCompleter -Native -CommandName 'rom-weaver' -ScriptBlock {
1168
1214
  [CompletionResult]::new('extract', 'extract', [CompletionResultType]::ParameterValue, 'Unpack an archive or single-payload compressed format')
1169
1215
  [CompletionResult]::new('checksum', 'checksum', [CompletionResultType]::ParameterValue, 'Compute checksums for a file, or for a ROM inside an archive')
1170
1216
  [CompletionResult]::new('identify', 'identify', [CompletionResultType]::ParameterValue, 'Identify a ROM title from its checksums')
1217
+ [CompletionResult]::new('setup', 'setup', [CompletionResultType]::ParameterValue, 'Install the offline identify database')
1171
1218
  [CompletionResult]::new('ingest', 'ingest', [CompletionResultType]::ParameterValue, 'Sort a file into ROMs and patches, unpacking and hashing along the way')
1172
1219
  [CompletionResult]::new('compress', 'compress', [CompletionResultType]::ParameterValue, 'Pack files into an archive, disc image, or ROM-specific compressed format')
1173
1220
  [CompletionResult]::new('trim', 'trim', [CompletionResultType]::ParameterValue, 'Cut the padding off a ROM, or put it back')
@@ -1177,6 +1224,7 @@ Register-ArgumentCompleter -Native -CommandName 'rom-weaver' -ScriptBlock {
1177
1224
  [CompletionResult]::new('plan-extract-batch', 'plan-extract-batch', [CompletionResultType]::ParameterValue, 'Plan a memory-/thread-aware concurrent extraction schedule from per-job source sizes (no I/O)')
1178
1225
  [CompletionResult]::new('weave', 'weave', [CompletionResultType]::ParameterValue, 'Apply one or more patches to a ROM, in order (same as `patch apply`)')
1179
1226
  [CompletionResult]::new('completions', 'completions', [CompletionResultType]::ParameterValue, 'Print a tab-completion script for your shell')
1227
+ [CompletionResult]::new('man', 'man', [CompletionResultType]::ParameterValue, 'Print or install the generated CLI man pages')
1180
1228
  [CompletionResult]::new('formats', 'formats', [CompletionResultType]::ParameterValue, 'List the formats, codecs, and checksum algorithms this build supports')
1181
1229
  [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
1182
1230
  break
@@ -1233,6 +1281,9 @@ Register-ArgumentCompleter -Native -CommandName 'rom-weaver' -ScriptBlock {
1233
1281
  'rom-weaver;help;identify;database;update' {
1234
1282
  break
1235
1283
  }
1284
+ 'rom-weaver;help;setup' {
1285
+ break
1286
+ }
1236
1287
  'rom-weaver;help;ingest' {
1237
1288
  break
1238
1289
  }
@@ -1288,6 +1339,9 @@ Register-ArgumentCompleter -Native -CommandName 'rom-weaver' -ScriptBlock {
1288
1339
  'rom-weaver;help;completions' {
1289
1340
  break
1290
1341
  }
1342
+ 'rom-weaver;help;man' {
1343
+ break
1344
+ }
1291
1345
  'rom-weaver;help;formats' {
1292
1346
  break
1293
1347
  }