@rom-weaver/cli 0.12.3 → 0.14.0

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.
Files changed (38) hide show
  1. package/README.md +38 -270
  2. package/docs/completions/_rom-weaver +878 -23
  3. package/docs/completions/rom-weaver.bash +1052 -53
  4. package/docs/completions/rom-weaver.elv +442 -12
  5. package/docs/completions/rom-weaver.fish +258 -41
  6. package/docs/completions/rom-weaver.ps1 +489 -12
  7. package/docs/man/rom-weaver-bundle-create.1 +75 -3
  8. package/docs/man/rom-weaver-bundle-parse.1 +4 -1
  9. package/docs/man/rom-weaver-bundle-schema.1 +4 -1
  10. package/docs/man/rom-weaver-bundle.1 +4 -1
  11. package/docs/man/rom-weaver-checksum.1 +28 -3
  12. package/docs/man/rom-weaver-completions.1 +4 -1
  13. package/docs/man/rom-weaver-compress.1 +58 -1
  14. package/docs/man/rom-weaver-extract.1 +49 -2
  15. package/docs/man/rom-weaver-formats.1 +66 -0
  16. package/docs/man/rom-weaver-identify-database-import-redump.1 +68 -0
  17. package/docs/man/rom-weaver-identify-database-install-all.1 +65 -0
  18. package/docs/man/rom-weaver-identify-database-install-group.1 +71 -0
  19. package/docs/man/rom-weaver-identify-database-install.1 +74 -0
  20. package/docs/man/rom-weaver-identify-database-list.1 +65 -0
  21. package/docs/man/rom-weaver-identify-database-path.1 +65 -0
  22. package/docs/man/rom-weaver-identify-database-remove.1 +68 -0
  23. package/docs/man/rom-weaver-identify-database-status.1 +65 -0
  24. package/docs/man/rom-weaver-identify-database-update.1 +71 -0
  25. package/docs/man/rom-weaver-identify-database.1 +90 -0
  26. package/docs/man/rom-weaver-identify.1 +123 -0
  27. package/docs/man/rom-weaver-patch-apply.1 +128 -68
  28. package/docs/man/rom-weaver-patch-create.1 +9 -3
  29. package/docs/man/rom-weaver-patch-validate.1 +4 -1
  30. package/docs/man/rom-weaver-patch.1 +4 -1
  31. package/docs/man/rom-weaver-probe.1 +4 -1
  32. package/docs/man/rom-weaver-tools-ppf-undo.1 +4 -1
  33. package/docs/man/rom-weaver-tools.1 +4 -1
  34. package/docs/man/rom-weaver-trim.1 +20 -1
  35. package/docs/man/rom-weaver-weave.1 +128 -68
  36. package/docs/man/rom-weaver.1 +11 -5
  37. package/package.json +14 -13
  38. package/docs/man/rom-weaver-ingest.1 +0 -98
@@ -29,6 +29,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
29
29
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
30
30
  cand --color 'Keep colors even when output is piped'
31
31
  cand --no-color 'Turn colors off'
32
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
33
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
32
34
  cand -h 'Print help (see more with ''--help'')'
33
35
  cand --help 'Print help (see more with ''--help'')'
34
36
  cand -V 'Print version'
@@ -37,6 +39,7 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
37
39
  cand inspect 'Identify a file: its format, its platform, and any header it carries'
38
40
  cand extract 'Unpack an archive or single-payload compressed format'
39
41
  cand checksum 'Compute checksums for a file, or for a ROM inside an archive'
42
+ cand identify 'Identify a ROM title from its checksums'
40
43
  cand ingest 'Sort a file into ROMs and patches, unpacking and hashing along the way'
41
44
  cand compress 'Pack files into an archive, disc image, or ROM-specific compressed format'
42
45
  cand trim 'Cut the padding off a ROM, or put it back'
@@ -46,6 +49,7 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
46
49
  cand plan-extract-batch 'Plan a memory-/thread-aware concurrent extraction schedule from per-job source sizes (no I/O)'
47
50
  cand weave 'Apply one or more patches to a ROM, in order (same as `patch apply`)'
48
51
  cand completions 'Print a tab-completion script for your shell'
52
+ cand formats 'List the formats, codecs, and checksum algorithms this build supports'
49
53
  cand help 'Print this message or the help of the given subcommand(s)'
50
54
  }
51
55
  &'rom-weaver;probe'= {
@@ -67,6 +71,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
67
71
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
68
72
  cand --color 'Keep colors even when output is piped'
69
73
  cand --no-color 'Turn colors off'
74
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
75
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
70
76
  cand -h 'Print help (see more with ''--help'')'
71
77
  cand --help 'Print help (see more with ''--help'')'
72
78
  }
@@ -89,6 +95,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
89
95
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
90
96
  cand --color 'Keep colors even when output is piped'
91
97
  cand --no-color 'Turn colors off'
98
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
99
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
92
100
  cand -h 'Print help (see more with ''--help'')'
93
101
  cand --help 'Print help (see more with ''--help'')'
94
102
  }
@@ -101,7 +109,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
101
109
  cand -o 'Directory to write the extracted files into'
102
110
  cand --output 'Directory to write the extracted files into'
103
111
  cand --checksum 'Also hash every extracted file (repeatable, comma-separable)'
104
- cand --checksum-rom 'Like --checksum, but hash only the ROMs and skip sidecar files. Ignored when --checksum is also given'
112
+ cand --algo 'Also hash every extracted file (repeatable, comma-separable)'
113
+ cand --checksum-rom 'Like --checksum, but hash only the ROMs and skip sidecar files. Cannot be combined with --checksum'
105
114
  cand -j 'How many threads to use at most. auto uses every core; a format may still use fewer'
106
115
  cand --threads 'How many threads to use at most. auto uses every core; a format may still use fewer'
107
116
  cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
@@ -120,14 +129,17 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
120
129
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
121
130
  cand --color 'Keep colors even when output is piped'
122
131
  cand --no-color 'Turn colors off'
132
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
133
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
123
134
  cand -h 'Print help (see more with ''--help'')'
124
135
  cand --help 'Print help (see more with ''--help'')'
125
136
  }
126
137
  &'rom-weaver;checksum'= {
127
138
  cand -i 'File to hash. Use - to read from stdin'
128
139
  cand --input 'File to hash. Use - to read from stdin'
129
- cand -a 'Which checksum to compute: crc32, md5, sha1, sha256, blake3, crc32c, crc16, or adler32 (repeatable, comma-separable)'
130
- cand --algo 'Which checksum to compute: crc32, md5, sha1, sha256, blake3, crc32c, crc16, or adler32 (repeatable, comma-separable)'
140
+ cand -a 'Which checksum to compute (repeatable, comma-separable)'
141
+ cand --algo 'Which checksum to compute (repeatable, comma-separable)'
142
+ cand --checksum 'Which checksum to compute (repeatable, comma-separable)'
131
143
  cand -s 'Pick which file inside the archive to use, by exact name, prefix, or glob (repeatable)'
132
144
  cand --select 'Pick which file inside the archive to use, by exact name, prefix, or glob (repeatable)'
133
145
  cand --filter 'Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)'
@@ -150,19 +162,321 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
150
162
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
151
163
  cand --color 'Keep colors even when output is piped'
152
164
  cand --no-color 'Turn colors off'
165
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
166
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
153
167
  cand -h 'Print help (see more with ''--help'')'
154
168
  cand --help 'Print help (see more with ''--help'')'
155
169
  }
170
+ &'rom-weaver;identify'= {
171
+ cand -i 'ROM to identify. Use - to read from stdin'
172
+ cand --input 'ROM to identify. Use - to read from stdin'
173
+ cand --hash 'Identify by a checksum instead of a file; accepts crc32/md5/sha1 hex (repeatable, one per algorithm)'
174
+ cand --size 'Exact byte size to pair with --hash, narrowing the lookup to records of that size'
175
+ cand -d 'RWFP1 identify pack, raw or Brotli, to search instead of the built-in data (repeatable)'
176
+ cand --database 'RWFP1 identify pack, raw or Brotli, to search instead of the built-in data (repeatable)'
177
+ cand --system 'Search only this system''s pack. Takes a canonical platform name or a common alias (e.g. `snes`, `psx`)'
178
+ cand --database-dir 'Directory of installed identify packs (*.pack plus optional catalog.json). Defaults to the per-user data directory'
179
+ cand -s 'Pick which file inside the archive to use, by exact name, prefix, or glob (repeatable)'
180
+ cand --select 'Pick which file inside the archive to use, by exact name, prefix, or glob (repeatable)'
181
+ cand --filter 'Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)'
182
+ cand -j 'How many threads to use at most. auto uses every core; a format may still use fewer'
183
+ cand --threads 'How many threads to use at most. auto uses every core; a format may still use fewer'
184
+ cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
185
+ cand --offline 'Assert that identify performs no network access (it never does natively; this flag records the guarantee)'
186
+ cand --exhaustive-database-search 'Search every installed pack instead of only the packs the detected platform routes to'
187
+ cand --no-extract 'Do not look inside archives; identify the file itself'
188
+ cand --no-ignore 'Also consider files normally skipped inside archives: readmes, images, checksum sidecars, and OS clutter such as .DS_Store'
189
+ cand --no-trim-fix 'Skip extra checksums for trimmed and untrimmed ROM forms'
190
+ cand --json 'Print one JSON object per line instead of human-readable output'
191
+ cand --progress 'Show progress even when output is piped to a file or another program'
192
+ cand --no-progress 'Hide progress'
193
+ cand -v 'Log more: -v for info, -vv for debug, -vvv for trace'
194
+ cand --verbose 'Log more: -v for info, -vv for debug, -vvv for trace'
195
+ cand -q 'Log errors only'
196
+ cand --quiet 'Log errors only'
197
+ cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
198
+ cand --color 'Keep colors even when output is piped'
199
+ cand --no-color 'Turn colors off'
200
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
201
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
202
+ cand -h 'Print help (see more with ''--help'')'
203
+ cand --help 'Print help (see more with ''--help'')'
204
+ cand database 'Manage the installed identify database packs'
205
+ cand help 'Print this message or the help of the given subcommand(s)'
206
+ }
207
+ &'rom-weaver;identify;database'= {
208
+ cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
209
+ cand --json 'Print one JSON object per line instead of human-readable output'
210
+ cand --progress 'Show progress even when output is piped to a file or another program'
211
+ cand --no-progress 'Hide progress'
212
+ cand -v 'Log more: -v for info, -vv for debug, -vvv for trace'
213
+ cand --verbose 'Log more: -v for info, -vv for debug, -vvv for trace'
214
+ cand -q 'Log errors only'
215
+ cand --quiet 'Log errors only'
216
+ cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
217
+ cand --color 'Keep colors even when output is piped'
218
+ cand --no-color 'Turn colors off'
219
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
220
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
221
+ cand -h 'Print help'
222
+ cand --help 'Print help'
223
+ cand list 'List every catalog platform, its source, and whether its pack is installed'
224
+ cand status 'List the installed pack files: slug, format, size, and sha256'
225
+ cand path 'Print the identify database directory'
226
+ cand remove 'Remove one system''s installed pack'
227
+ cand import-redump 'Build identify packs from local Redump DAT ZIP files'
228
+ cand install-all 'Install the full identify database for this rom-weaver version'
229
+ cand install-group 'Download and install one optional identify pack group'
230
+ cand install 'Download and install one Redump system pack (or --all)'
231
+ cand update 'Download and update installed Redump system packs'
232
+ cand help 'Print this message or the help of the given subcommand(s)'
233
+ }
234
+ &'rom-weaver;identify;database;list'= {
235
+ cand --database-dir 'Identify database directory. Defaults to the per-user data directory'
236
+ cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
237
+ cand --json 'Print one JSON object per line instead of human-readable output'
238
+ cand --progress 'Show progress even when output is piped to a file or another program'
239
+ cand --no-progress 'Hide progress'
240
+ cand -v 'Log more: -v for info, -vv for debug, -vvv for trace'
241
+ cand --verbose 'Log more: -v for info, -vv for debug, -vvv for trace'
242
+ cand -q 'Log errors only'
243
+ cand --quiet 'Log errors only'
244
+ cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
245
+ cand --color 'Keep colors even when output is piped'
246
+ cand --no-color 'Turn colors off'
247
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
248
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
249
+ cand -h 'Print help'
250
+ cand --help 'Print help'
251
+ }
252
+ &'rom-weaver;identify;database;status'= {
253
+ cand --database-dir 'Identify database directory. Defaults to the per-user data directory'
254
+ cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
255
+ cand --json 'Print one JSON object per line instead of human-readable output'
256
+ cand --progress 'Show progress even when output is piped to a file or another program'
257
+ cand --no-progress 'Hide progress'
258
+ cand -v 'Log more: -v for info, -vv for debug, -vvv for trace'
259
+ cand --verbose 'Log more: -v for info, -vv for debug, -vvv for trace'
260
+ cand -q 'Log errors only'
261
+ cand --quiet 'Log errors only'
262
+ cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
263
+ cand --color 'Keep colors even when output is piped'
264
+ cand --no-color 'Turn colors off'
265
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
266
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
267
+ cand -h 'Print help'
268
+ cand --help 'Print help'
269
+ }
270
+ &'rom-weaver;identify;database;path'= {
271
+ cand --database-dir 'Identify database directory. Defaults to the per-user data directory'
272
+ cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
273
+ cand --json 'Print one JSON object per line instead of human-readable output'
274
+ cand --progress 'Show progress even when output is piped to a file or another program'
275
+ cand --no-progress 'Hide progress'
276
+ cand -v 'Log more: -v for info, -vv for debug, -vvv for trace'
277
+ cand --verbose 'Log more: -v for info, -vv for debug, -vvv for trace'
278
+ cand -q 'Log errors only'
279
+ cand --quiet 'Log errors only'
280
+ cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
281
+ cand --color 'Keep colors even when output is piped'
282
+ cand --no-color 'Turn colors off'
283
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
284
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
285
+ cand -h 'Print help'
286
+ cand --help 'Print help'
287
+ }
288
+ &'rom-weaver;identify;database;remove'= {
289
+ cand --database-dir 'Identify database directory. Defaults to the per-user data directory'
290
+ cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
291
+ cand --json 'Print one JSON object per line instead of human-readable output'
292
+ cand --progress 'Show progress even when output is piped to a file or another program'
293
+ cand --no-progress 'Hide progress'
294
+ cand -v 'Log more: -v for info, -vv for debug, -vvv for trace'
295
+ cand --verbose 'Log more: -v for info, -vv for debug, -vvv for trace'
296
+ cand -q 'Log errors only'
297
+ cand --quiet 'Log errors only'
298
+ cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
299
+ cand --color 'Keep colors even when output is piped'
300
+ cand --no-color 'Turn colors off'
301
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
302
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
303
+ cand -h 'Print help'
304
+ cand --help 'Print help'
305
+ }
306
+ &'rom-weaver;identify;database;import-redump'= {
307
+ cand --database-dir 'Identify database directory. Defaults to the per-user data directory'
308
+ cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
309
+ cand --json 'Print one JSON object per line instead of human-readable output'
310
+ cand --progress 'Show progress even when output is piped to a file or another program'
311
+ cand --no-progress 'Hide progress'
312
+ cand -v 'Log more: -v for info, -vv for debug, -vvv for trace'
313
+ cand --verbose 'Log more: -v for info, -vv for debug, -vvv for trace'
314
+ cand -q 'Log errors only'
315
+ cand --quiet 'Log errors only'
316
+ cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
317
+ cand --color 'Keep colors even when output is piped'
318
+ cand --no-color 'Turn colors off'
319
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
320
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
321
+ cand -h 'Print help'
322
+ cand --help 'Print help'
323
+ }
324
+ &'rom-weaver;identify;database;install-all'= {
325
+ cand --database-dir 'Identify database directory. Defaults to the per-user data directory'
326
+ cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
327
+ cand --json 'Print one JSON object per line instead of human-readable output'
328
+ cand --progress 'Show progress even when output is piped to a file or another program'
329
+ cand --no-progress 'Hide progress'
330
+ cand -v 'Log more: -v for info, -vv for debug, -vvv for trace'
331
+ cand --verbose 'Log more: -v for info, -vv for debug, -vvv for trace'
332
+ cand -q 'Log errors only'
333
+ cand --quiet 'Log errors only'
334
+ cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
335
+ cand --color 'Keep colors even when output is piped'
336
+ cand --no-color 'Turn colors off'
337
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
338
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
339
+ cand -h 'Print help'
340
+ cand --help 'Print help'
341
+ }
342
+ &'rom-weaver;identify;database;install-group'= {
343
+ cand --from 'Local group archive; omit to download the archive for this version'
344
+ cand --database-dir 'Identify database directory. Defaults to the per-user data directory'
345
+ cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
346
+ cand --json 'Print one JSON object per line instead of human-readable output'
347
+ cand --progress 'Show progress even when output is piped to a file or another program'
348
+ cand --no-progress 'Hide progress'
349
+ cand -v 'Log more: -v for info, -vv for debug, -vvv for trace'
350
+ cand --verbose 'Log more: -v for info, -vv for debug, -vvv for trace'
351
+ cand -q 'Log errors only'
352
+ cand --quiet 'Log errors only'
353
+ cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
354
+ cand --color 'Keep colors even when output is piped'
355
+ cand --no-color 'Turn colors off'
356
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
357
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
358
+ cand -h 'Print help'
359
+ cand --help 'Print help'
360
+ }
361
+ &'rom-weaver;identify;database;install'= {
362
+ cand --from 'Local Redump DAT ZIP file; omit to download from Redump'
363
+ cand --database-dir 'Identify database directory. Defaults to the per-user data directory'
364
+ cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
365
+ cand --all 'Install every platform in the dump'
366
+ cand --json 'Print one JSON object per line instead of human-readable output'
367
+ cand --progress 'Show progress even when output is piped to a file or another program'
368
+ cand --no-progress 'Hide progress'
369
+ cand -v 'Log more: -v for info, -vv for debug, -vvv for trace'
370
+ cand --verbose 'Log more: -v for info, -vv for debug, -vvv for trace'
371
+ cand -q 'Log errors only'
372
+ cand --quiet 'Log errors only'
373
+ cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
374
+ cand --color 'Keep colors even when output is piped'
375
+ cand --no-color 'Turn colors off'
376
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
377
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
378
+ cand -h 'Print help'
379
+ cand --help 'Print help'
380
+ }
381
+ &'rom-weaver;identify;database;update'= {
382
+ cand --from 'Local Redump DAT ZIP file; omit to download from Redump'
383
+ cand --database-dir 'Identify database directory. Defaults to the per-user data directory'
384
+ cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
385
+ cand --json 'Print one JSON object per line instead of human-readable output'
386
+ cand --progress 'Show progress even when output is piped to a file or another program'
387
+ cand --no-progress 'Hide progress'
388
+ cand -v 'Log more: -v for info, -vv for debug, -vvv for trace'
389
+ cand --verbose 'Log more: -v for info, -vv for debug, -vvv for trace'
390
+ cand -q 'Log errors only'
391
+ cand --quiet 'Log errors only'
392
+ cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
393
+ cand --color 'Keep colors even when output is piped'
394
+ cand --no-color 'Turn colors off'
395
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
396
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
397
+ cand -h 'Print help'
398
+ cand --help 'Print help'
399
+ }
400
+ &'rom-weaver;identify;database;help'= {
401
+ cand list 'List every catalog platform, its source, and whether its pack is installed'
402
+ cand status 'List the installed pack files: slug, format, size, and sha256'
403
+ cand path 'Print the identify database directory'
404
+ cand remove 'Remove one system''s installed pack'
405
+ cand import-redump 'Build identify packs from local Redump DAT ZIP files'
406
+ cand install-all 'Install the full identify database for this rom-weaver version'
407
+ cand install-group 'Download and install one optional identify pack group'
408
+ cand install 'Download and install one Redump system pack (or --all)'
409
+ cand update 'Download and update installed Redump system packs'
410
+ cand help 'Print this message or the help of the given subcommand(s)'
411
+ }
412
+ &'rom-weaver;identify;database;help;list'= {
413
+ }
414
+ &'rom-weaver;identify;database;help;status'= {
415
+ }
416
+ &'rom-weaver;identify;database;help;path'= {
417
+ }
418
+ &'rom-weaver;identify;database;help;remove'= {
419
+ }
420
+ &'rom-weaver;identify;database;help;import-redump'= {
421
+ }
422
+ &'rom-weaver;identify;database;help;install-all'= {
423
+ }
424
+ &'rom-weaver;identify;database;help;install-group'= {
425
+ }
426
+ &'rom-weaver;identify;database;help;install'= {
427
+ }
428
+ &'rom-weaver;identify;database;help;update'= {
429
+ }
430
+ &'rom-weaver;identify;database;help;help'= {
431
+ }
432
+ &'rom-weaver;identify;help'= {
433
+ cand database 'Manage the installed identify database packs'
434
+ cand help 'Print this message or the help of the given subcommand(s)'
435
+ }
436
+ &'rom-weaver;identify;help;database'= {
437
+ cand list 'List every catalog platform, its source, and whether its pack is installed'
438
+ cand status 'List the installed pack files: slug, format, size, and sha256'
439
+ cand path 'Print the identify database directory'
440
+ cand remove 'Remove one system''s installed pack'
441
+ cand import-redump 'Build identify packs from local Redump DAT ZIP files'
442
+ cand install-all 'Install the full identify database for this rom-weaver version'
443
+ cand install-group 'Download and install one optional identify pack group'
444
+ cand install 'Download and install one Redump system pack (or --all)'
445
+ cand update 'Download and update installed Redump system packs'
446
+ }
447
+ &'rom-weaver;identify;help;database;list'= {
448
+ }
449
+ &'rom-weaver;identify;help;database;status'= {
450
+ }
451
+ &'rom-weaver;identify;help;database;path'= {
452
+ }
453
+ &'rom-weaver;identify;help;database;remove'= {
454
+ }
455
+ &'rom-weaver;identify;help;database;import-redump'= {
456
+ }
457
+ &'rom-weaver;identify;help;database;install-all'= {
458
+ }
459
+ &'rom-weaver;identify;help;database;install-group'= {
460
+ }
461
+ &'rom-weaver;identify;help;database;install'= {
462
+ }
463
+ &'rom-weaver;identify;help;database;update'= {
464
+ }
465
+ &'rom-weaver;identify;help;help'= {
466
+ }
156
467
  &'rom-weaver;ingest'= {
157
468
  cand -i 'File to sort into ROMs and patches'
158
469
  cand --input 'File to sort into ROMs and patches'
159
470
  cand -o 'Directory to write anything unpacked along the way into'
160
471
  cand --output 'Directory to write anything unpacked along the way into'
472
+ cand -d 'RWFP1 identify pack, raw or Brotli, for ROM titles (repeatable; native defaults to built-in data)'
473
+ cand --database 'RWFP1 identify pack, raw or Brotli, for ROM titles (repeatable; native defaults to built-in data)'
161
474
  cand -s 'Pick which ROM to use when the archive holds more than one, by exact name, prefix, or glob (repeatable)'
162
475
  cand --select 'Pick which ROM to use when the archive holds more than one, by exact name, prefix, or glob (repeatable)'
163
476
  cand --sidecar-name 'Optional loose patch names to match against `source` without ingesting it. This keeps the browser''s sibling-sidecar lookup on the ingest command surface while reusing Rust''s matcher'
164
477
  cand --split-bin 'For a multi-track CD-format CHD, write one BIN per track (--split-bin) or one merged BIN (--split-bin false). Omit to be asked'
165
478
  cand --checksum 'Which checksums to compute for each ROM found (repeatable, comma-separable) [default: crc32,md5,sha1]'
479
+ cand --algo 'Which checksums to compute for each ROM found (repeatable, comma-separable) [default: crc32,md5,sha1]'
166
480
  cand -j 'How many threads to use at most. auto uses every core; a format may still use fewer'
167
481
  cand --threads 'How many threads to use at most. auto uses every core; a format may still use fewer'
168
482
  cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
@@ -179,6 +493,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
179
493
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
180
494
  cand --color 'Keep colors even when output is piped'
181
495
  cand --no-color 'Turn colors off'
496
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
497
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
182
498
  cand -h 'Print help (see more with ''--help'')'
183
499
  cand --help 'Print help (see more with ''--help'')'
184
500
  }
@@ -194,6 +510,9 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
194
510
  cand -j 'How many threads to use at most. auto uses every core; a format may still use fewer'
195
511
  cand --threads 'How many threads to use at most. auto uses every core; a format may still use fewer'
196
512
  cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
513
+ cand --force 'Overwrite the output if it already exists (without this, the command stops instead)'
514
+ cand -n 'Print the plan (inputs, output, format, codec, level, threads) and stop without writing'
515
+ cand --dry-run 'Print the plan (inputs, output, format, codec, level, threads) and stop without writing'
197
516
  cand --json 'Print one JSON object per line instead of human-readable output'
198
517
  cand --progress 'Show progress even when output is piped to a file or another program'
199
518
  cand --no-progress 'Hide progress'
@@ -204,6 +523,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
204
523
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
205
524
  cand --color 'Keep colors even when output is piped'
206
525
  cand --no-color 'Turn colors off'
526
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
527
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
207
528
  cand -h 'Print help (see more with ''--help'')'
208
529
  cand --help 'Print help (see more with ''--help'')'
209
530
  }
@@ -214,6 +535,7 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
214
535
  cand --output 'Where to write the trimmed file. Only valid with a single trimmable input'
215
536
  cand -e 'Save next to each original under this extension. {ext} stands for the original one, as in trim.{ext}'
216
537
  cand --extension 'Save next to each original under this extension. {ext} stands for the original one, as in trim.{ext}'
538
+ cand --filter 'Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)'
217
539
  cand -j 'How many threads to use at most. auto uses every core; a format may still use fewer'
218
540
  cand --threads 'How many threads to use at most. auto uses every core; a format may still use fewer'
219
541
  cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
@@ -228,6 +550,7 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
228
550
  cand --no-extract 'Do not look inside archives; trim only the files named directly'
229
551
  cand --revert-marker 'Add a small footer recording what was cut, so --revert can restore the original exactly'
230
552
  cand --reversible 'Add a small footer recording what was cut, so --revert can restore the original exactly'
553
+ cand --force 'Overwrite the output if it already exists (without this, the command stops instead)'
231
554
  cand --json 'Print one JSON object per line instead of human-readable output'
232
555
  cand --progress 'Show progress even when output is piped to a file or another program'
233
556
  cand --no-progress 'Hide progress'
@@ -238,6 +561,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
238
561
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
239
562
  cand --color 'Keep colors even when output is piped'
240
563
  cand --no-color 'Turn colors off'
564
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
565
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
241
566
  cand -h 'Print help (see more with ''--help'')'
242
567
  cand --help 'Print help (see more with ''--help'')'
243
568
  }
@@ -253,6 +578,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
253
578
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
254
579
  cand --color 'Keep colors even when output is piped'
255
580
  cand --no-color 'Turn colors off'
581
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
582
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
256
583
  cand -h 'Print help'
257
584
  cand --help 'Print help'
258
585
  cand apply 'Apply one or more patches to a ROM, in order'
@@ -275,8 +602,11 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
275
602
  cand --with 'Turn on a bundle patch the bundle leaves off by default, matched by name or file name (repeatable)'
276
603
  cand --without 'Turn off a bundle patch, matched by name or file name (repeatable)'
277
604
  cand --compress-format 'Format to compress the patched ROM into [default: from the --output extension]'
605
+ cand --format 'Format to compress the patched ROM into [default: from the --output extension]'
278
606
  cand --compress-codec 'Compression method to use, as codec or codec:level (repeatable, comma-separable)'
607
+ cand --codec 'Compression method to use, as codec or codec:level (repeatable, comma-separable)'
279
608
  cand --compress-level 'How hard to compress: min, very-low, low, medium, high, very-high, or max [default: max]'
609
+ cand --level 'How hard to compress: min, very-low, low, medium, high, very-high, or max [default: max]'
280
610
  cand --assume-in 'Take this checksum on trust instead of reading the ROM to compute it, as in crc32=1234abcd (repeatable, comma-separable)'
281
611
  cand --expect-in 'Stop unless the ROM about to be patched has this checksum, as in crc32=1234abcd (repeatable, comma-separable)'
282
612
  cand --patch-header 'Whether a patch applies to the ROM with or without its copier header: auto, keep, or strip [default: auto]'
@@ -285,8 +615,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
285
615
  cand --n64-byte-order 'Byte order to put an N64 ROM in for each patch: auto, keep, big-endian, little-endian, or byte-swapped [default: auto]'
286
616
  cand --expect-out 'Fail unless the patched ROM has this checksum, as in sha1=abc... (repeatable, comma-separable)'
287
617
  cand --code 'Game Genie or GameShark/Pro Action Replay code to bake into the ROM. Repeat for each code'
288
- cand --code-system 'Console the --code values are for (nes, snes, genesis, gameboy), when the ROM header does not say'
289
- cand --code-kind 'Which cheat scheme the --code values use: auto, game-genie, or gameshark/par'
618
+ cand --code-system 'Console the --code values are for (nes, snes, genesis, gameboy, gba, psx), when the ROM header does not say'
619
+ cand --code-kind 'Which cheat scheme the --code values use: auto, game-genie, gameshark/par, or xploder'
290
620
  cand --emit-bundle 'Also write a rom-weaver-bundle.json recording this run, so someone else can repeat it'
291
621
  cand -j 'How many threads to use at most. auto uses every core; a format may still use fewer'
292
622
  cand --threads 'How many threads to use at most. auto uses every core; a format may still use fewer'
@@ -294,9 +624,13 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
294
624
  cand --no-extract 'Do not look inside archives; treat the input and every patch as raw files'
295
625
  cand --no-ignore 'Also consider files normally skipped inside archives: readmes, images, checksum sidecars, and OS clutter such as .DS_Store'
296
626
  cand --no-compress 'Write a plain ROM instead of compressing the result'
627
+ cand --raw 'Write a plain ROM instead of compressing the result'
297
628
  cand --repair-checksum 'Recompute the ROM''s internal header checksum afterwards, so the console does not reject it (SNES, NES, GB, GBA, Mega Drive, SMS, N64, NDS)'
298
629
  cand --ignore-checksum-validation 'Apply the patch even when its own checksums do not match. Can produce a broken ROM'
299
630
  cand --tui 'Ask for each patch''s name, version, and author, then apply and write a bundle. Needs a terminal'
631
+ cand --force 'Overwrite the output if it already exists (without this, the command stops instead)'
632
+ cand -n 'Print the plan (inputs, patches, output, format, codec, level, threads) and stop without writing'
633
+ cand --dry-run 'Print the plan (inputs, patches, output, format, codec, level, threads) and stop without writing'
300
634
  cand --json 'Print one JSON object per line instead of human-readable output'
301
635
  cand --progress 'Show progress even when output is piped to a file or another program'
302
636
  cand --no-progress 'Hide progress'
@@ -307,6 +641,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
307
641
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
308
642
  cand --color 'Keep colors even when output is piped'
309
643
  cand --no-color 'Turn colors off'
644
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
645
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
310
646
  cand -h 'Print help (see more with ''--help'')'
311
647
  cand --help 'Print help (see more with ''--help'')'
312
648
  }
@@ -324,8 +660,11 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
324
660
  cand --with 'Turn on a bundle patch the bundle leaves off by default, matched by name or file name (repeatable)'
325
661
  cand --without 'Turn off a bundle patch, matched by name or file name (repeatable)'
326
662
  cand --compress-format 'Format to compress the patched ROM into [default: from the --output extension]'
663
+ cand --format 'Format to compress the patched ROM into [default: from the --output extension]'
327
664
  cand --compress-codec 'Compression method to use, as codec or codec:level (repeatable, comma-separable)'
665
+ cand --codec 'Compression method to use, as codec or codec:level (repeatable, comma-separable)'
328
666
  cand --compress-level 'How hard to compress: min, very-low, low, medium, high, very-high, or max [default: max]'
667
+ cand --level 'How hard to compress: min, very-low, low, medium, high, very-high, or max [default: max]'
329
668
  cand --assume-in 'Take this checksum on trust instead of reading the ROM to compute it, as in crc32=1234abcd (repeatable, comma-separable)'
330
669
  cand --expect-in 'Stop unless the ROM about to be patched has this checksum, as in crc32=1234abcd (repeatable, comma-separable)'
331
670
  cand --patch-header 'Whether a patch applies to the ROM with or without its copier header: auto, keep, or strip [default: auto]'
@@ -334,8 +673,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
334
673
  cand --n64-byte-order 'Byte order to put an N64 ROM in for each patch: auto, keep, big-endian, little-endian, or byte-swapped [default: auto]'
335
674
  cand --expect-out 'Fail unless the patched ROM has this checksum, as in sha1=abc... (repeatable, comma-separable)'
336
675
  cand --code 'Game Genie or GameShark/Pro Action Replay code to bake into the ROM. Repeat for each code'
337
- cand --code-system 'Console the --code values are for (nes, snes, genesis, gameboy), when the ROM header does not say'
338
- cand --code-kind 'Which cheat scheme the --code values use: auto, game-genie, or gameshark/par'
676
+ cand --code-system 'Console the --code values are for (nes, snes, genesis, gameboy, gba, psx), when the ROM header does not say'
677
+ cand --code-kind 'Which cheat scheme the --code values use: auto, game-genie, gameshark/par, or xploder'
339
678
  cand --emit-bundle 'Also write a rom-weaver-bundle.json recording this run, so someone else can repeat it'
340
679
  cand -j 'How many threads to use at most. auto uses every core; a format may still use fewer'
341
680
  cand --threads 'How many threads to use at most. auto uses every core; a format may still use fewer'
@@ -343,9 +682,13 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
343
682
  cand --no-extract 'Do not look inside archives; treat the input and every patch as raw files'
344
683
  cand --no-ignore 'Also consider files normally skipped inside archives: readmes, images, checksum sidecars, and OS clutter such as .DS_Store'
345
684
  cand --no-compress 'Write a plain ROM instead of compressing the result'
685
+ cand --raw 'Write a plain ROM instead of compressing the result'
346
686
  cand --repair-checksum 'Recompute the ROM''s internal header checksum afterwards, so the console does not reject it (SNES, NES, GB, GBA, Mega Drive, SMS, N64, NDS)'
347
687
  cand --ignore-checksum-validation 'Apply the patch even when its own checksums do not match. Can produce a broken ROM'
348
688
  cand --tui 'Ask for each patch''s name, version, and author, then apply and write a bundle. Needs a terminal'
689
+ cand --force 'Overwrite the output if it already exists (without this, the command stops instead)'
690
+ cand -n 'Print the plan (inputs, patches, output, format, codec, level, threads) and stop without writing'
691
+ cand --dry-run 'Print the plan (inputs, patches, output, format, codec, level, threads) and stop without writing'
349
692
  cand --json 'Print one JSON object per line instead of human-readable output'
350
693
  cand --progress 'Show progress even when output is piped to a file or another program'
351
694
  cand --no-progress 'Hide progress'
@@ -356,6 +699,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
356
699
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
357
700
  cand --color 'Keep colors even when output is piped'
358
701
  cand --no-color 'Turn colors off'
702
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
703
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
359
704
  cand -h 'Print help (see more with ''--help'')'
360
705
  cand --help 'Print help (see more with ''--help'')'
361
706
  }
@@ -391,6 +736,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
391
736
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
392
737
  cand --color 'Keep colors even when output is piped'
393
738
  cand --no-color 'Turn colors off'
739
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
740
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
394
741
  cand -h 'Print help (see more with ''--help'')'
395
742
  cand --help 'Print help (see more with ''--help'')'
396
743
  }
@@ -403,8 +750,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
403
750
  cand --output 'Where to write the patch. Required unless --plan is used'
404
751
  cand --assume-in 'Take the original ROM''s checksum on trust rather than reading the file, as in crc32=1234abcd (repeatable, comma-separable)'
405
752
  cand --code 'Build the patch from a Game Genie or GameShark/Pro Action Replay code instead of a second ROM. Repeat for each code; cannot be used with --modified'
406
- cand --code-system 'Console the --code values are for (nes, snes, genesis, gameboy), when the ROM header does not say'
407
- cand --code-kind 'Which cheat scheme the --code values use: auto, game-genie, or gameshark/par'
753
+ cand --code-system 'Console the --code values are for (nes, snes, genesis, gameboy, gba, psx), when the ROM header does not say'
754
+ cand --code-kind 'Which cheat scheme the --code values use: auto, game-genie, gameshark/par, or xploder'
408
755
  cand -j 'How many threads to use at most. auto uses every core; a format may still use fewer'
409
756
  cand --threads 'How many threads to use at most. auto uses every core; a format may still use fewer'
410
757
  cand --solid-system 'SOLID patches only: console the ROM is for'
@@ -420,6 +767,7 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
420
767
  cand --ignore-checksum-validation 'Write the patch even when the format''s own consistency checks fail, and leave its checksums out'
421
768
  cand --checksum-name 'Put the original ROM''s crc32 in the patch file name, as [crc32:HEX]'
422
769
  cand --solid-extended 'SOLID patches only: use the extended header even with none of the extended fields filled in'
770
+ cand --force 'Overwrite the output if it already exists (without this, the command stops instead)'
423
771
  cand --json 'Print one JSON object per line instead of human-readable output'
424
772
  cand --progress 'Show progress even when output is piped to a file or another program'
425
773
  cand --no-progress 'Hide progress'
@@ -430,6 +778,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
430
778
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
431
779
  cand --color 'Keep colors even when output is piped'
432
780
  cand --no-color 'Turn colors off'
781
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
782
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
433
783
  cand -h 'Print help (see more with ''--help'')'
434
784
  cand --help 'Print help (see more with ''--help'')'
435
785
  }
@@ -459,6 +809,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
459
809
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
460
810
  cand --color 'Keep colors even when output is piped'
461
811
  cand --no-color 'Turn colors off'
812
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
813
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
462
814
  cand -h 'Print help'
463
815
  cand --help 'Print help'
464
816
  cand create 'Write a rom-weaver-bundle.json recipe from local ROM and patch files'
@@ -492,13 +844,15 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
492
844
  cand --output 'Where to write the bundle. Name it rom-weaver-bundle.json, or add .gz or .zst to compress it'
493
845
  cand --bundle 'Also pack the bundle and its ROM and patches into one shareable archive, such as release.zip'
494
846
  cand --bundle-rom 'Pack this file into --bundle as the ROM, while --input supplies the checksums and metadata'
495
- cand --checksum 'Which checksums to record for the ROM (repeatable) [default: crc32,md5,sha1]'
847
+ cand --checksum 'Which checksums to record for the ROM (repeatable, comma-separable) [default: crc32,md5,sha1]'
848
+ cand --algo 'Which checksums to record for the ROM (repeatable, comma-separable) [default: crc32,md5,sha1]'
496
849
  cand --from 'Build the bundle from a hand-written rom-weaver-bundle.json instead of flags. Use - to read it from stdin'
497
850
  cand --schema-ref 'Record this $schema URL in the bundle so editors can validate it. Left out unless asked for'
498
851
  cand -j 'How many threads to use at most. auto uses every core; a format may still use fewer'
499
852
  cand --threads 'How many threads to use at most. auto uses every core; a format may still use fewer'
500
853
  cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
501
854
  cand --no-bundle-rom 'Keep the ROM out of --bundle and record only its checksums, so whoever applies the bundle brings their own copy'
855
+ cand --force 'Overwrite the output if it already exists (without this, the command stops instead)'
502
856
  cand --json 'Print one JSON object per line instead of human-readable output'
503
857
  cand --progress 'Show progress even when output is piped to a file or another program'
504
858
  cand --no-progress 'Hide progress'
@@ -509,6 +863,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
509
863
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
510
864
  cand --color 'Keep colors even when output is piped'
511
865
  cand --no-color 'Turn colors off'
866
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
867
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
512
868
  cand -h 'Print help (see more with ''--help'')'
513
869
  cand --help 'Print help (see more with ''--help'')'
514
870
  }
@@ -534,6 +890,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
534
890
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
535
891
  cand --color 'Keep colors even when output is piped'
536
892
  cand --no-color 'Turn colors off'
893
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
894
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
537
895
  cand -h 'Print help (see more with ''--help'')'
538
896
  cand --help 'Print help (see more with ''--help'')'
539
897
  }
@@ -549,6 +907,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
549
907
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
550
908
  cand --color 'Keep colors even when output is piped'
551
909
  cand --no-color 'Turn colors off'
910
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
911
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
552
912
  cand -h 'Print help (see more with ''--help'')'
553
913
  cand --help 'Print help (see more with ''--help'')'
554
914
  }
@@ -578,6 +938,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
578
938
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
579
939
  cand --color 'Keep colors even when output is piped'
580
940
  cand --no-color 'Turn colors off'
941
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
942
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
581
943
  cand -h 'Print help'
582
944
  cand --help 'Print help'
583
945
  cand ppf-undo 'Undo a PPF3 patch, using the undo data stored inside it'
@@ -600,6 +962,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
600
962
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
601
963
  cand --color 'Keep colors even when output is piped'
602
964
  cand --no-color 'Turn colors off'
965
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
966
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
603
967
  cand -h 'Print help (see more with ''--help'')'
604
968
  cand --help 'Print help (see more with ''--help'')'
605
969
  }
@@ -629,6 +993,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
629
993
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
630
994
  cand --color 'Keep colors even when output is piped'
631
995
  cand --no-color 'Turn colors off'
996
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
997
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
632
998
  cand -h 'Print help'
633
999
  cand --help 'Print help'
634
1000
  }
@@ -646,8 +1012,11 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
646
1012
  cand --with 'Turn on a bundle patch the bundle leaves off by default, matched by name or file name (repeatable)'
647
1013
  cand --without 'Turn off a bundle patch, matched by name or file name (repeatable)'
648
1014
  cand --compress-format 'Format to compress the patched ROM into [default: from the --output extension]'
1015
+ cand --format 'Format to compress the patched ROM into [default: from the --output extension]'
649
1016
  cand --compress-codec 'Compression method to use, as codec or codec:level (repeatable, comma-separable)'
1017
+ cand --codec 'Compression method to use, as codec or codec:level (repeatable, comma-separable)'
650
1018
  cand --compress-level 'How hard to compress: min, very-low, low, medium, high, very-high, or max [default: max]'
1019
+ cand --level 'How hard to compress: min, very-low, low, medium, high, very-high, or max [default: max]'
651
1020
  cand --assume-in 'Take this checksum on trust instead of reading the ROM to compute it, as in crc32=1234abcd (repeatable, comma-separable)'
652
1021
  cand --expect-in 'Stop unless the ROM about to be patched has this checksum, as in crc32=1234abcd (repeatable, comma-separable)'
653
1022
  cand --patch-header 'Whether a patch applies to the ROM with or without its copier header: auto, keep, or strip [default: auto]'
@@ -656,8 +1025,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
656
1025
  cand --n64-byte-order 'Byte order to put an N64 ROM in for each patch: auto, keep, big-endian, little-endian, or byte-swapped [default: auto]'
657
1026
  cand --expect-out 'Fail unless the patched ROM has this checksum, as in sha1=abc... (repeatable, comma-separable)'
658
1027
  cand --code 'Game Genie or GameShark/Pro Action Replay code to bake into the ROM. Repeat for each code'
659
- cand --code-system 'Console the --code values are for (nes, snes, genesis, gameboy), when the ROM header does not say'
660
- cand --code-kind 'Which cheat scheme the --code values use: auto, game-genie, or gameshark/par'
1028
+ cand --code-system 'Console the --code values are for (nes, snes, genesis, gameboy, gba, psx), when the ROM header does not say'
1029
+ cand --code-kind 'Which cheat scheme the --code values use: auto, game-genie, gameshark/par, or xploder'
661
1030
  cand --emit-bundle 'Also write a rom-weaver-bundle.json recording this run, so someone else can repeat it'
662
1031
  cand -j 'How many threads to use at most. auto uses every core; a format may still use fewer'
663
1032
  cand --threads 'How many threads to use at most. auto uses every core; a format may still use fewer'
@@ -665,9 +1034,13 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
665
1034
  cand --no-extract 'Do not look inside archives; treat the input and every patch as raw files'
666
1035
  cand --no-ignore 'Also consider files normally skipped inside archives: readmes, images, checksum sidecars, and OS clutter such as .DS_Store'
667
1036
  cand --no-compress 'Write a plain ROM instead of compressing the result'
1037
+ cand --raw 'Write a plain ROM instead of compressing the result'
668
1038
  cand --repair-checksum 'Recompute the ROM''s internal header checksum afterwards, so the console does not reject it (SNES, NES, GB, GBA, Mega Drive, SMS, N64, NDS)'
669
1039
  cand --ignore-checksum-validation 'Apply the patch even when its own checksums do not match. Can produce a broken ROM'
670
1040
  cand --tui 'Ask for each patch''s name, version, and author, then apply and write a bundle. Needs a terminal'
1041
+ cand --force 'Overwrite the output if it already exists (without this, the command stops instead)'
1042
+ cand -n 'Print the plan (inputs, patches, output, format, codec, level, threads) and stop without writing'
1043
+ cand --dry-run 'Print the plan (inputs, patches, output, format, codec, level, threads) and stop without writing'
671
1044
  cand --json 'Print one JSON object per line instead of human-readable output'
672
1045
  cand --progress 'Show progress even when output is piped to a file or another program'
673
1046
  cand --no-progress 'Hide progress'
@@ -678,6 +1051,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
678
1051
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
679
1052
  cand --color 'Keep colors even when output is piped'
680
1053
  cand --no-color 'Turn colors off'
1054
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
1055
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
681
1056
  cand -h 'Print help (see more with ''--help'')'
682
1057
  cand --help 'Print help (see more with ''--help'')'
683
1058
  }
@@ -693,6 +1068,25 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
693
1068
  cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
694
1069
  cand --color 'Keep colors even when output is piped'
695
1070
  cand --no-color 'Turn colors off'
1071
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
1072
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
1073
+ cand -h 'Print help (see more with ''--help'')'
1074
+ cand --help 'Print help (see more with ''--help'')'
1075
+ }
1076
+ &'rom-weaver;formats'= {
1077
+ cand --log-level 'How much rom-weaver logs to stderr. Separate from the normal output [default: off]'
1078
+ cand --json 'Print one JSON object per line instead of human-readable output'
1079
+ cand --progress 'Show progress even when output is piped to a file or another program'
1080
+ cand --no-progress 'Hide progress'
1081
+ cand -v 'Log more: -v for info, -vv for debug, -vvv for trace'
1082
+ cand --verbose 'Log more: -v for info, -vv for debug, -vvv for trace'
1083
+ cand -q 'Log errors only'
1084
+ cand --quiet 'Log errors only'
1085
+ cand --dep-trace 'Also log trace output from bundled libraries (for bug reports)'
1086
+ cand --color 'Keep colors even when output is piped'
1087
+ cand --no-color 'Turn colors off'
1088
+ cand -y 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
1089
+ cand --yes 'Answer yes to every confirmation instead of asking. Does not choose between candidates'
696
1090
  cand -h 'Print help (see more with ''--help'')'
697
1091
  cand --help 'Print help (see more with ''--help'')'
698
1092
  }
@@ -700,6 +1094,7 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
700
1094
  cand probe 'Identify a file: its format, its platform, and any header it carries'
701
1095
  cand extract 'Unpack an archive or single-payload compressed format'
702
1096
  cand checksum 'Compute checksums for a file, or for a ROM inside an archive'
1097
+ cand identify 'Identify a ROM title from its checksums'
703
1098
  cand ingest 'Sort a file into ROMs and patches, unpacking and hashing along the way'
704
1099
  cand compress 'Pack files into an archive, disc image, or ROM-specific compressed format'
705
1100
  cand trim 'Cut the padding off a ROM, or put it back'
@@ -709,6 +1104,7 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
709
1104
  cand plan-extract-batch 'Plan a memory-/thread-aware concurrent extraction schedule from per-job source sizes (no I/O)'
710
1105
  cand weave 'Apply one or more patches to a ROM, in order (same as `patch apply`)'
711
1106
  cand completions 'Print a tab-completion script for your shell'
1107
+ cand formats 'List the formats, codecs, and checksum algorithms this build supports'
712
1108
  cand help 'Print this message or the help of the given subcommand(s)'
713
1109
  }
714
1110
  &'rom-weaver;help;probe'= {
@@ -717,6 +1113,38 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
717
1113
  }
718
1114
  &'rom-weaver;help;checksum'= {
719
1115
  }
1116
+ &'rom-weaver;help;identify'= {
1117
+ cand database 'Manage the installed identify database packs'
1118
+ }
1119
+ &'rom-weaver;help;identify;database'= {
1120
+ cand list 'List every catalog platform, its source, and whether its pack is installed'
1121
+ cand status 'List the installed pack files: slug, format, size, and sha256'
1122
+ cand path 'Print the identify database directory'
1123
+ cand remove 'Remove one system''s installed pack'
1124
+ cand import-redump 'Build identify packs from local Redump DAT ZIP files'
1125
+ cand install-all 'Install the full identify database for this rom-weaver version'
1126
+ cand install-group 'Download and install one optional identify pack group'
1127
+ cand install 'Download and install one Redump system pack (or --all)'
1128
+ cand update 'Download and update installed Redump system packs'
1129
+ }
1130
+ &'rom-weaver;help;identify;database;list'= {
1131
+ }
1132
+ &'rom-weaver;help;identify;database;status'= {
1133
+ }
1134
+ &'rom-weaver;help;identify;database;path'= {
1135
+ }
1136
+ &'rom-weaver;help;identify;database;remove'= {
1137
+ }
1138
+ &'rom-weaver;help;identify;database;import-redump'= {
1139
+ }
1140
+ &'rom-weaver;help;identify;database;install-all'= {
1141
+ }
1142
+ &'rom-weaver;help;identify;database;install-group'= {
1143
+ }
1144
+ &'rom-weaver;help;identify;database;install'= {
1145
+ }
1146
+ &'rom-weaver;help;identify;database;update'= {
1147
+ }
720
1148
  &'rom-weaver;help;ingest'= {
721
1149
  }
722
1150
  &'rom-weaver;help;compress'= {
@@ -756,6 +1184,8 @@ set edit:completion:arg-completer[rom-weaver] = {|@words|
756
1184
  }
757
1185
  &'rom-weaver;help;completions'= {
758
1186
  }
1187
+ &'rom-weaver;help;formats'= {
1188
+ }
759
1189
  &'rom-weaver;help;help'= {
760
1190
  }
761
1191
  ]